Class: Basuco::Attribute

Inherits:
Object
  • Object
show all
Defined in:
lib/basuco/attribute.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, property) ⇒ Attribute

initializes a resource by json result



7
8
9
10
11
# File 'lib/basuco/attribute.rb', line 7

def initialize(data, property)
  #assert_kind_of 'data', data, Array
  #assert_kind_of 'property', property, Basuco::Property
  @data, @property = data, property
end

Instance Attribute Details

#propertyObject (readonly)

include Extlib::Assertions



4
5
6
# File 'lib/basuco/attribute.rb', line 4

def property
  @property
end

Class Method Details

.create(data, property) ⇒ Object

factory method for creating an attribute instance



15
16
17
# File 'lib/basuco/attribute.rb', line 15

def self.create(data, property)
  Basuco::Attribute.new(data, property)
end

Instance Method Details

#expected_typeObject

type, which attribute values of that property are expected to have



57
58
59
# File 'lib/basuco/attribute.rb', line 57

def expected_type
  @property.expected_type
end

#inspectObject



25
26
27
# File 'lib/basuco/attribute.rb', line 25

def inspect
  result = "#<Attribute property=\"#{property.id || "nil"}\">"
end

#object_type?Boolean

object type properties always link to resources

Returns:

  • (Boolean)


44
45
46
# File 'lib/basuco/attribute.rb', line 44

def object_type?
  @property.object_type?
end

#to_sObject



20
21
22
# File 'lib/basuco/attribute.rb', line 20

def to_s
  subject.to_s
end

#unique?Boolean

unique properties can have at least one value

Returns:

  • (Boolean)


38
39
40
# File 'lib/basuco/attribute.rb', line 38

def unique?
  @property.unique?
end

#value_type?Boolean

returns true if the property is a value type value type properties refer to simple values like /type/text

Returns:

  • (Boolean)


51
52
53
# File 'lib/basuco/attribute.rb', line 51

def value_type?
  @property.value_type?
end

#valuesObject

returns a collection of values in case of a unique property the array holds just one value



32
33
34
# File 'lib/basuco/attribute.rb', line 32

def values
  subject
end