Sha256: 7c33a4684657abb8475d6140461f278cb4d37ef2ac984616d1d3a9ebb8352fa8

Contents?: true

Size: 1.86 KB

Versions: 6

Compression:

Stored size: 1.86 KB

Contents

require 'date'
require 'countries'

module MetalArchives

  ##
  # Represents a record label
  #
  class Label < BaseModel
    ##
    # :attr_reader: id
    #
    # Returns +Integer+
    #
    property :id

    ##
    # :attr_reader: name
    #
    # Returns +String+
    #
    property :name

    ##
    # :attr_reader: address
    #
    # Returns multiline +String+
    #
    property :address

    ##
    # :attr_reader: country
    #
    # Returns +ISO316::Country+
    #
    property :country, :type => ISO3166::Country

    ##
    # :attr_reader: phone
    #
    # Returns +String+
    #
    property :phone

    ##
    # :attr_reader: specializations
    #
    # Returns +Array+ of +String+
    #
    property :specializations, :multiple => true

    ##
    # :attr_reader: date_founded
    #
    # Returns +Date+
    #
    property :date_founded, :type => Date

    ##
    # :attr_reader: sub_labels
    #
    # Returns +Array+ of rdoc-ref:Label
    #
    property :sub_labels, :type => MetalArchives::Label, :multiple => true

    ##
    # :attr_reader: online_shopping
    #
    # Returns +Boolean+
    #
    boolean :online_shopping

    ##
    # :attr_reader: contact
    #
    # Returns +Hash+ with the following keys: +title+, +content+
    #
    property :contact, :type => Hash, :multiple => true

    ##
    # :attr_reader: status
    #
    # Returns +:active+, +:closed+ or +:unknown+
    #
    enum :status, :values => [:active, :closed, :unknown]

    class << self
      ##
      # Search by name.
      #
      # Returns +Array+ of rdoc-ref:Label
      #
      def search(name)
        results = []
        results
      end

      ##
      # Find by name and id.
      #
      # Returns rdoc-ref:Band
      #
      def find_by_name(name, id)
        client.find_resource(
            :band,
              :name => name,
              :id => id
        )
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
metal_archives-0.6.0 lib/metal_archives/models/label.rb
metal_archives-0.5.0 lib/metal_archives/models/label.rb
metal_archives-0.4.0 lib/metal_archives/models/label.rb
metal_archives-0.3.0 lib/metal_archives/models/label.rb
metal_archives-0.2.1 lib/metal_archives/models/label.rb
metal_archives-0.2.0 lib/metal_archives/models/label.rb