Sha256: ed48cdf0179f5943d4e59a2ad6f4d4a0f1b085ba451586386f2da5af2e48ffa3

Contents?: true

Size: 1.06 KB

Versions: 18

Compression:

Stored size: 1.06 KB

Contents

# Contentful resource classes are just plain Ruby classes that include the
# Contentful::Resource module.
#
# You can then define properties of the class. This will create a getter method
# with this name. You can optionally pass a type identifier (Symbol or Class).
#
# Classes will be instantiated for the properties,
# Symbols will be looked up in Contentful::Resource::COERCIONS

require 'contentful'

class MyResource
  include Contentful::Resource

  property :some
  property :age, :integer
  property :country, Contentful::Locale
end

res = MyResource.new(
  'some' => 'value',
  'age' => '25',
  'country' => { 'code' => 'de', 'name' => 'Deutschland' },
  'unknown_property' => 'ignored'
)

p res.some # => "value"
p res.age # => 25
p res.country # #<Contentful::Locale: ...
p res.unknown_property # NoMethodError

# Another possibility to create customized resources is to just inherit from an
# existing one:

class MyBetterArray < Contentful::Array
  # e.g. define more methods that you need
  def last
    items.last
  end
end

# Read further in examples/resource_mapping.rb

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
contentful-1.2.2 examples/custom_classes.rb
contentful-1.2.1 examples/custom_classes.rb
contentful-1.2.0 examples/custom_classes.rb
contentful-1.1.1 examples/custom_classes.rb
contentful-1.1.0 examples/custom_classes.rb
contentful-1.0.2 examples/custom_classes.rb
contentful-1.0.1 examples/custom_classes.rb
contentful-1.0.0 examples/custom_classes.rb
contentful-0.12.0 examples/custom_classes.rb
contentful-0.11.0 examples/custom_classes.rb
contentful-0.10.0 examples/custom_classes.rb
contentful-0.9.0 examples/custom_classes.rb
contentful-0.8.0 examples/custom_classes.rb
contentful-0.7.0 examples/custom_classes.rb
contentful-0.6.0 examples/custom_classes.rb
contentful-0.5.0 examples/custom_classes.rb
contentful-0.4.0 examples/custom_classes.rb
contentful-0.3.5 examples/custom_classes.rb