It is ok to remove a gemspec from the dependency list?
If removing the gemspec creates breaks a currently ok dependency, then it is NOT ok to remove the gemspec.
Returns a hash of the name/value pairs, to use in pattern matching. Possible keys are: :year
, :month
, :day
, :wday
, :yday
.
Possible usages:
d = Date.new(2022, 10, 5) if d in wday: 3, day: ..7 # uses deconstruct_keys underneath puts "first Wednesday of the month" end #=> prints "first Wednesday of the month" case d in year: ...2022 puts "too old" in month: ..9 puts "quarter 1-3" in wday: 1..5, month: puts "working day in month #{month}" end #=> prints "working day in month 10"
Note that deconstruction by pattern can also be combined with class check:
if d in Date(wday: 3, day: ..7) puts "first Wednesday of the month" end
Returns a hash of the name/value pairs, to use in pattern matching. Possible keys are: :year
, :month
, :day
, :wday
, :yday
, :hour
, :min
, :sec
, :sec_fraction
, :zone
.
Possible usages:
dt = DateTime.new(2022, 10, 5, 13, 30) if d in wday: 1..5, hour: 10..18 # uses deconstruct_keys underneath puts "Working time" end #=> prints "Working time" case dt in year: ...2022 puts "too old" in month: ..9 puts "quarter 1-3" in wday: 1..5, month: puts "working day in month #{month}" end #=> prints "working day in month 10"
Note that deconstruction by pattern can also be combined with class check:
if d in DateTime(wday: 1..5, hour: 10..18, day: ..7) puts "Working time, first week of the month" end
Returns a hash of the name/value pairs, to use in pattern matching. Possible keys are: :year
, :month
, :day
, :yday
, :wday
, :hour
, :min
, :sec
, :subsec
, :dst
, :zone
.
Possible usages:
t = Time.utc(2022, 10, 5, 21, 25, 30) if t in wday: 3, day: ..7 # uses deconstruct_keys underneath puts "first Wednesday of the month" end #=> prints "first Wednesday of the month" case t in year: ...2022 puts "too old" in month: ..9 puts "quarter 1-3" in wday: 1..5, month: puts "working day in month #{month}" end #=> prints "working day in month 10"
Note that deconstruction by pattern can also be combined with class check:
if t in Time(wday: 3, day: ..7) puts "first Wednesday of the month" end
Returns a hash of the name/value pairs for the given member names.
Customer = Struct.new(:name, :address, :zip) joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) h = joe.deconstruct_keys([:zip, :address]) h # => {:zip=>12345, :address=>"123 Maple, Anytown NC"}
Returns all names and values if array_of_names
is nil
:
h = joe.deconstruct_keys(nil) h # => {:name=>"Joseph Smith, Jr.", :address=>"123 Maple, Anytown NC", :zip=>12345}
Returns a hash of the name/value pairs, to use in pattern matching.
Measure = Data.define(:amount, :unit) distance = Measure[10, 'km'] distance.deconstruct_keys(nil) #=> {:amount=>10, :unit=>"km"} distance.deconstruct_keys([:amount]) #=> {:amount=>10} # usage case distance in amount:, unit: 'km' # calls #deconstruct_keys underneath puts "It is #{amount} kilometers away" else puts "Don't know how to handle it" end # prints "It is 10 kilometers away"
Or, with checking the class, too:
case distance in Measure(amount:, unit: 'km') puts "It is #{amount} kilometers away" # ... end
Returns a hash of the named captures for the given names.
m = /(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})/.match("18:37:22") m.deconstruct_keys([:hours, :minutes]) # => {:hours => "18", :minutes => "37"} m.deconstruct_keys(nil) # => {:hours => "18", :minutes => "37", :seconds => "22"}
Returns an empty hash if no named captures were defined:
m = /(\d{2}):(\d{2}):(\d{2})/.match("18:37:22") m.deconstruct_keys(nil) # => {}
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?name: Symbol
, ?name_loc: Location
, ?operator_loc: Location
, ?value: Prism::node) -> ConstantAndWriteNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?name: Symbol
, ?name_loc: Location
, ?operator_loc: Location
, ?value: Prism::node) -> ConstantOrWriteNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?name: Symbol
, ?name_loc: Location
, ?binary_operator_loc: Location
, ?value: Prism::node, ?binary_operator: Symbol
) -> ConstantOperatorWriteNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?target: ConstantPathNode
, ?operator_loc: Location
, ?value: Prism::node) -> ConstantPathAndWriteNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?parent: Prism::node?, ?name: Symbol
?, ?delimiter_loc: Location
, ?name_loc: Location
) -> ConstantPathNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?target: ConstantPathNode
, ?binary_operator_loc: Location
, ?value: Prism::node, ?binary_operator: Symbol
) -> ConstantPathOperatorWriteNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?target: ConstantPathNode
, ?operator_loc: Location
, ?value: Prism::node) -> ConstantPathOrWriteNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?parent: Prism::node?, ?name: Symbol
?, ?delimiter_loc: Location
, ?name_loc: Location
) -> ConstantPathTargetNode
def inspect -> String
def copy: (?node_id: Integer
, ?location: Location
, ?flags: Integer
, ?target: ConstantPathNode
, ?operator_loc: Location
, ?value: Prism::node) -> ConstantPathWriteNode