Class: Ogpr::Model::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/ogpr/model/base.rb

Direct Known Subclasses

OpenGraph, TwitterCard

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ Base

Returns a new instance of Base.



14
15
16
17
18
19
# File 'lib/ogpr/model/base.rb', line 14

def initialize(hash)
  @meta = hash
  @prefix = nil

  raise 'Meta is empty' if @meta.empty?
end

Instance Attribute Details

#metaObject (readonly)

Returns the value of attribute meta.



6
7
8
# File 'lib/ogpr/model/base.rb', line 6

def meta
  @meta
end

Class Method Details

.create(meta) ⇒ Object



8
9
10
11
12
# File 'lib/ogpr/model/base.rb', line 8

def self.create(meta)
  new(meta)
rescue
  nil
end

Instance Method Details

#[](key) ⇒ Object



27
28
29
# File 'lib/ogpr/model/base.rb', line 27

def [](key)
  @meta[key]
end

#each_key(&block) ⇒ Object



35
36
37
38
# File 'lib/ogpr/model/base.rb', line 35

def each_key(&block)
  return unless block
  @meta.each_key { |key| yield key }
end

#each_pair(&block) ⇒ Object



40
41
42
43
# File 'lib/ogpr/model/base.rb', line 40

def each_pair(&block)
  return unless block
  @meta.each_pair { |k, v| yield k, v }
end

#keysObject



31
32
33
# File 'lib/ogpr/model/base.rb', line 31

def keys
  @meta.keys.sort
end

#to_sObject



45
46
47
# File 'lib/ogpr/model/base.rb', line 45

def to_s
  "#<#{self.class}::#{object_id} @meta=#{@meta}>"
end