Sha256: 240a89c04f6f3671ec0a4009a150a752666d682fda82ef52f8520a175369a981

Contents?: true

Size: 1.28 KB

Versions: 22

Compression:

Stored size: 1.28 KB

Contents

module Centaman
  #:nodoc:
  class Attribute
    attr_reader :centaman_key, :app_key, :type
    attr_accessor :value

    def initialize(args = {})
      @centaman_key = args[:centaman_key]
      @app_key = args[:app_key]
      @type = args.fetch(:type, :string)
    end

    def parse_value
      parsed_value = send(type)
      @value = parsed_value
    end

    def string
      value
    end

    def float
      value
    end

    def integer
      value.try(:to_i)
    end

    def boolean
      value
    end

    def datetime
      DateTime.parse(value)
    end

    def centaman_description
      value
    end

    def display_time
      array = value.split(":")
      hour = array[0].try(:to_i)
      minute = array[1].try(:to_i)
      period = hour >= 12 ? 'pm' : 'am'
      hour = hour > 12 ? hour - 12 : hour
      return "#{hour}#{period}" if minute == 0
      "#{hour}:#{minute}#{period}"
      # return [array.first, array[1]].join(":")
    end

    def age_group
      return 'adult' if value.downcase.include?('adult')
      return 'child' if value.downcase.include?('child')
      return 'youth' if value.downcase.include?('youth')
      return 'senior' if value.downcase.include?('senior')
      return 'adult'
    end

    def display_age_group
      age_group.capitalize
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
centaman-8.0.0 lib/centaman/attribute.rb
centaman-7.0.5 lib/centaman/attribute.rb
centaman-7.0.4 lib/centaman/attribute.rb
centaman-7.0.3 lib/centaman/attribute.rb
centaman-7.0.2 lib/centaman/attribute.rb
centaman-7.0.1 lib/centaman/attribute.rb
centaman-7.0.0 lib/centaman/attribute.rb
centaman-6.0.8 lib/centaman/attribute.rb
centaman-6.0.7 lib/centaman/attribute.rb
centaman-6.0.5 lib/centaman/attribute.rb
centaman-6.0.4 lib/centaman/attribute.rb
centaman-6.0.3 lib/centaman/attribute.rb
centaman-6.0.2 lib/centaman/attribute.rb
centaman-6.0.1 lib/centaman/attribute.rb
centaman-6.0.0 lib/centaman/attribute.rb
centaman-5.0.8 lib/centaman/attribute.rb
centaman-5.0.7 lib/centaman/attribute.rb
centaman-5.0.6 lib/centaman/attribute.rb
centaman-5.0.5 lib/centaman/attribute.rb
centaman-5.0.4 lib/centaman/attribute.rb