Module: SpreeCmCommissioner::OptionValueAttrType

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb

Instance Method Summary collapse

Instance Method Details

#dateObject



60
61
62
# File 'app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb', line 60

def date
  parse_date(name)
end

#itemsObject



30
31
32
33
34
35
# File 'app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb', line 30

def items
  return nil unless attr_type_array?
  return nil if name.nil?

  name.split(',')
end

#latitudeObject



37
38
39
40
41
42
43
# File 'app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb', line 37

def latitude
  return nil unless attr_type_coordinate?
  return nil if name.nil?

  latitude, _longitude = name.split(',').map(&:strip)
  latitude&.to_f
end

#longitudeObject



45
46
47
48
49
50
51
# File 'app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb', line 45

def longitude
  return nil unless attr_type_coordinate?
  return nil if name.nil?

  _latitude, longitude = name.split(',').map(&:strip)
  longitude&.to_f
end

#parse_date(value) ⇒ Object



64
65
66
67
68
69
70
# File 'app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb', line 64

def parse_date(value)
  return nil if value.nil?

  Date.parse(value)
rescue Date::Error
  nil
end

#timeObject



53
54
55
56
57
58
# File 'app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb', line 53

def time
  return nil unless attr_type_time?
  return nil if name.nil?

  Time.zone.parse(name)
end

#update_variants_metadataObject



72
73
74
# File 'app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb', line 72

def 
  SpreeCmCommissioner::OptionValueVariantsPublicMetadataUpdaterJob.perform_later(id)
end