Class: OpenBD::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/open_bd/resource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source) ⇒ Resource

Returns a new instance of Resource.



5
6
7
# File 'lib/open_bd/resource.rb', line 5

def initialize(source)
  @source = source
end

Instance Attribute Details

#sourceObject (readonly)

Returns the value of attribute source.



3
4
5
# File 'lib/open_bd/resource.rb', line 3

def source
  @source
end

Instance Method Details

#contentsObject



9
10
11
12
13
# File 'lib/open_bd/resource.rb', line 9

def contents
  if !contents_source.nil?
    Contents.new(contents_source).contents
  end
end

#contents_detailObject



15
16
17
18
19
# File 'lib/open_bd/resource.rb', line 15

def contents_detail
  if !contents_source.nil?
    Contents.new(contents_source).contents_detail
  end
end

#contributorsObject



21
22
23
24
25
26
# File 'lib/open_bd/resource.rb', line 21

def contributors
  values = source.dig("onix", "DescriptiveDetail", "Contributor")
  if !values.nil?
    values.map { |v| Contributor.new(v) }
  end
end

#cover_imageObject



28
29
30
# File 'lib/open_bd/resource.rb', line 28

def cover_image
  source.dig("summary", "cover")
end

#heightObject



32
33
34
# File 'lib/open_bd/resource.rb', line 32

def height
  Paper.new(source.dig("onix", "DescriptiveDetail")).height
end

#isbnObject



36
37
38
# File 'lib/open_bd/resource.rb', line 36

def isbn
  source.dig("summary", "isbn")
end

#main_titleObject



40
41
42
# File 'lib/open_bd/resource.rb', line 40

def main_title
  Title.new(source.dig("onix", "DescriptiveDetail")).main_title
end

#paper_sizeObject



44
45
46
# File 'lib/open_bd/resource.rb', line 44

def paper_size
  Paper.new(source.dig("onix", "DescriptiveDetail")).size
end

#paper_size_detailObject



48
49
50
# File 'lib/open_bd/resource.rb', line 48

def paper_size_detail
  Paper.new(source.dig("onix", "DescriptiveDetail")).size_detail
end

#publisherObject



52
53
54
# File 'lib/open_bd/resource.rb', line 52

def publisher
  source.dig("summary", "publisher")
end

#release_dateObject



56
57
58
# File 'lib/open_bd/resource.rb', line 56

def release_date
  source.dig("summary", "pubdate")
end

#sub_titleObject



60
61
62
# File 'lib/open_bd/resource.rb', line 60

def sub_title
  Title.new(source.dig("onix", "DescriptiveDetail")).sub_title
end

#table_of_contentsObject



64
65
66
67
68
# File 'lib/open_bd/resource.rb', line 64

def table_of_contents
  if !contents_source.nil?
    Contents.new(contents_source).table_of_contents
  end
end

#titleObject



70
71
72
# File 'lib/open_bd/resource.rb', line 70

def title
  Title.new(source.dig("onix", "DescriptiveDetail")).title
end

#widthObject



74
75
76
# File 'lib/open_bd/resource.rb', line 74

def width
  Paper.new(source.dig("onix", "DescriptiveDetail")).width
end