Class: Basuco::Attribute
- Inherits:
-
Object
- Object
- Basuco::Attribute
- Defined in:
- lib/basuco/attribute.rb
Instance Attribute Summary collapse
-
#property ⇒ Object
readonly
include Extlib::Assertions.
Class Method Summary collapse
-
.create(data, property) ⇒ Object
factory method for creating an attribute instance.
Instance Method Summary collapse
-
#expected_type ⇒ Object
type, which attribute values of that property are expected to have.
-
#initialize(data, property) ⇒ Attribute
constructor
initializes a resource by json result.
- #inspect ⇒ Object
-
#object_type? ⇒ Boolean
object type properties always link to resources.
- #to_s ⇒ Object
-
#unique? ⇒ Boolean
unique properties can have at least one value.
-
#value_type? ⇒ Boolean
returns true if the property is a value type value type properties refer to simple values like /type/text.
-
#values ⇒ Object
returns a collection of values in case of a unique property the array holds just one value.
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
#property ⇒ Object (readonly)
include Extlib::Assertions
4 5 6 |
# File 'lib/basuco/attribute.rb', line 4 def property @property end |
Class Method Details
Instance Method Details
#expected_type ⇒ Object
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 |
#inspect ⇒ Object
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
44 45 46 |
# File 'lib/basuco/attribute.rb', line 44 def object_type? @property.object_type? end |
#to_s ⇒ Object
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
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
51 52 53 |
# File 'lib/basuco/attribute.rb', line 51 def value_type? @property.value_type? end |
#values ⇒ Object
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 |