npr 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/.travis.yml +1 -4
  2. data/CHANGELOG.md +27 -1
  3. data/README.md +5 -10
  4. data/lib/npr/api/client.rb +6 -6
  5. data/lib/npr/api/message.rb +5 -5
  6. data/lib/npr/api/query_builder.rb +22 -23
  7. data/lib/npr/api/response.rb +7 -7
  8. data/lib/npr/concern/attr_typecast.rb +11 -13
  9. data/lib/npr/concern/links_association.rb +26 -0
  10. data/lib/npr/concern/relation.rb +17 -17
  11. data/lib/npr/concern/shallow_attributes.rb +12 -12
  12. data/lib/npr/configuration.rb +27 -27
  13. data/lib/npr/entity/audio.rb +3 -4
  14. data/lib/npr/entity/author.rb +3 -3
  15. data/lib/npr/entity/base.rb +1 -1
  16. data/lib/npr/entity/book.rb +2 -2
  17. data/lib/npr/entity/book_edition.rb +5 -5
  18. data/lib/npr/entity/byline.rb +4 -3
  19. data/lib/npr/entity/crop.rb +2 -2
  20. data/lib/npr/entity/enlargement.rb +2 -2
  21. data/lib/npr/entity/external_asset.rb +27 -0
  22. data/lib/npr/entity/formats.rb +2 -2
  23. data/lib/npr/entity/image.rb +4 -4
  24. data/lib/npr/entity/intro_text.rb +4 -4
  25. data/lib/npr/entity/link.rb +3 -3
  26. data/lib/npr/entity/list.rb +2 -4
  27. data/lib/npr/entity/list_text.rb +2 -2
  28. data/lib/npr/entity/member.rb +1 -1
  29. data/lib/npr/entity/member_byline.rb +2 -2
  30. data/lib/npr/entity/member_promo_art.rb +2 -2
  31. data/lib/npr/entity/mp3.rb +4 -4
  32. data/lib/npr/entity/name.rb +4 -4
  33. data/lib/npr/entity/organization.rb +2 -2
  34. data/lib/npr/entity/paragraph.rb +2 -2
  35. data/lib/npr/entity/parent.rb +23 -0
  36. data/lib/npr/entity/permissions.rb +14 -1
  37. data/lib/npr/entity/program.rb +7 -5
  38. data/lib/npr/entity/promo_art.rb +2 -2
  39. data/lib/npr/entity/promo_art_book_edition.rb +2 -3
  40. data/lib/npr/entity/provider.rb +4 -4
  41. data/lib/npr/entity/pull_quote.rb +1 -1
  42. data/lib/npr/entity/related_link.rb +4 -4
  43. data/lib/npr/entity/show.rb +3 -3
  44. data/lib/npr/entity/story.rb +42 -72
  45. data/lib/npr/entity/text.rb +7 -7
  46. data/lib/npr/entity/title.rb +4 -4
  47. data/lib/npr/entity/transcript.rb +2 -2
  48. data/lib/npr/errors.rb +1 -1
  49. data/lib/npr/version.rb +1 -1
  50. data/lib/npr.rb +3 -0
  51. data/spec/fixtures/fetch_formats.rb +4 -4
  52. data/spec/spec_helper.rb +1 -1
  53. data/spec/unit/api/client_spec.rb +4 -4
  54. data/spec/unit/api/message_spec.rb +9 -9
  55. data/spec/unit/api/query_builder_spec.rb +39 -39
  56. data/spec/unit/api/response_spec.rb +8 -8
  57. data/spec/unit/configuration_spec.rb +14 -14
  58. data/spec/unit/entity/audio_spec.rb +6 -6
  59. data/spec/unit/entity/author_spec.rb +3 -3
  60. data/spec/unit/entity/base_spec.rb +19 -19
  61. data/spec/unit/entity/book_edition_spec.rb +4 -4
  62. data/spec/unit/entity/book_spec.rb +2 -2
  63. data/spec/unit/entity/byline_spec.rb +3 -3
  64. data/spec/unit/entity/collection_spec.rb +1 -1
  65. data/spec/unit/entity/crop_spec.rb +2 -2
  66. data/spec/unit/entity/englargement_spec.rb +2 -2
  67. data/spec/unit/entity/external_assset_spec.rb +39 -0
  68. data/spec/unit/entity/formats_spec.rb +4 -4
  69. data/spec/unit/entity/image_spec.rb +7 -7
  70. data/spec/unit/entity/intro_text_spec.rb +3 -3
  71. data/spec/unit/entity/link_spec.rb +3 -3
  72. data/spec/unit/entity/list_spec.rb +3 -3
  73. data/spec/unit/entity/list_text_spec.rb +3 -3
  74. data/spec/unit/entity/member_byline_spec.rb +2 -2
  75. data/spec/unit/entity/member_promo_art_spec.rb +2 -2
  76. data/spec/unit/entity/member_spec.rb +4 -4
  77. data/spec/unit/entity/mp3_spec.rb +4 -4
  78. data/spec/unit/entity/name_spec.rb +3 -3
  79. data/spec/unit/entity/organization_spec.rb +2 -2
  80. data/spec/unit/entity/paragraph_spec.rb +3 -3
  81. data/spec/unit/entity/parent_spec.rb +39 -0
  82. data/spec/unit/entity/permissions_spec.rb +16 -6
  83. data/spec/unit/entity/program_spec.rb +7 -3
  84. data/spec/unit/entity/promo_art_book_edition_spec.rb +2 -2
  85. data/spec/unit/entity/promo_art_spec.rb +2 -2
  86. data/spec/unit/entity/pull_quote_spec.rb +2 -2
  87. data/spec/unit/entity/related_link_spec.rb +7 -7
  88. data/spec/unit/entity/show_spec.rb +3 -3
  89. data/spec/unit/entity/story_spec.rb +35 -36
  90. data/spec/unit/entity/text_spec.rb +4 -4
  91. data/spec/unit/entity/title_spec.rb +3 -3
  92. data/spec/unit/entity/transcript_spec.rb +2 -2
  93. metadata +10 -8
@@ -5,40 +5,40 @@ describe NPR::API::Response do
5
5
  before :each do
6
6
  @client = NPR::API::Client.new(:apiKey => "key")
7
7
  end
8
-
8
+
9
9
  describe "messages" do
10
10
  it "generates messages" do
11
11
  response = mock_response "json/04_invalid_id.json" do
12
12
  @client.query(:id => 999)
13
13
  end
14
-
14
+
15
15
  response.messages.size.should eq 1
16
16
  response.messages.first.id.should eq "201"
17
17
  end
18
-
18
+
19
19
  it "adds the messages association even if there aren't any" do
20
20
  response = mock_response "json/01_story_full_media.json" do
21
21
  @client.query(:id => 999)
22
22
  end
23
-
23
+
24
24
  response.messages.should eq []
25
25
  end
26
26
  end
27
-
27
+
28
28
  describe "list" do
29
29
  it "is generated" do
30
30
  response = mock_response "json/01_story_full_media.json" do
31
31
  @client.query(:id => 999)
32
32
  end
33
-
33
+
34
34
  response.list.should be_a NPR::Entity::List
35
35
  end
36
-
36
+
37
37
  it "isn't generated no list node was present" do
38
38
  response = mock_response "json/05_no_api_key.json" do
39
39
  @client.query(:id => 999)
40
40
  end
41
-
41
+
42
42
  response.list.should eq nil
43
43
  end
44
44
  end
@@ -5,58 +5,58 @@ describe NPR::Configuration do
5
5
  after :each do
6
6
  NPR.instance_variable_set :@config, nil
7
7
  end
8
-
8
+
9
9
  it "takes a block to set global configuration" do
10
10
  NPR.configure do |config|
11
11
  config.sort = "cool sorting, bro"
12
12
  end
13
-
13
+
14
14
  NPR.config.sort.should eq "cool sorting, bro"
15
15
  NPR.config.apiKey.should eq nil
16
16
  end
17
17
  end
18
-
18
+
19
19
  describe "NPR.config" do
20
20
  it "creates a new NPR::Configure object" do
21
21
  config = NPR.config
22
22
  config.should be_a NPR::Configuration
23
- NPR.config.should equal config
23
+ NPR.config.should equal config
24
24
  end
25
25
  end
26
-
26
+
27
27
  #------------------
28
-
28
+
29
29
  describe "with options" do
30
30
  it "assigns the passed-in options using the setter" do
31
31
  config = NPR::Configuration.new(:apiKey => "hello")
32
32
  config.apiKey.should eq "hello"
33
33
  end
34
34
  end
35
-
35
+
36
36
  #------------------
37
-
37
+
38
38
  describe "#to_hash" do
39
39
  it "converts the config to a hash" do
40
40
  config = NPR::Configuration.new
41
41
  config.sort = "date"
42
42
  config.apiKey = "key"
43
-
43
+
44
44
  config.to_hash.should eq Hash[:sort => "date", :apiKey => "key"]
45
45
  end
46
46
  end
47
-
47
+
48
48
  #------------------
49
-
49
+
50
50
  describe "#merge" do
51
51
  it "turns it into a hash and merges it with the passed-in hash" do
52
52
  config = NPR::Configuration.new
53
53
  config.sort = "date"
54
54
  config.apiKey = "key"
55
-
55
+
56
56
  config.merge(:title => "List").should eq Hash[
57
57
  :title => "List",
58
- :sort => "date",
59
- :apiKey => "key"
58
+ :sort => "date",
59
+ :apiKey => "key"
60
60
  ]
61
61
  end
62
62
  end
@@ -47,11 +47,11 @@ describe NPR::Entity::Audio do
47
47
  }
48
48
  JSON
49
49
  end
50
-
50
+
51
51
  before :each do
52
52
  @audio = NPR::Entity::Audio.new(@fixture)
53
53
  end
54
-
54
+
55
55
  it "sets attributes" do
56
56
  @audio.id.should eq 167255688
57
57
  @audio.type.should eq "primary"
@@ -60,16 +60,16 @@ describe NPR::Entity::Audio do
60
60
  @audio.description.should eq ""
61
61
  @audio.rightsHolder.should eq ""
62
62
  end
63
-
63
+
64
64
  it "sets permissions" do
65
65
  @audio.permissions.should be_a NPR::Entity::Permissions
66
66
  end
67
-
67
+
68
68
  it "sets stream" do
69
69
  @audio.stream.should eq false
70
70
  end
71
-
71
+
72
72
  it "sets format" do
73
73
  @audio.formats.should be_a NPR::Entity::Formats
74
- end
74
+ end
75
75
  end
@@ -16,15 +16,15 @@ describe NPR::Entity::Author do
16
16
  }
17
17
  JSON
18
18
  end
19
-
19
+
20
20
  before :each do
21
21
  @author = NPR::Entity::Author.new(@fixture)
22
22
  end
23
-
23
+
24
24
  it "sets attributes" do
25
25
  @author.id.should eq 139197905
26
26
  @author.num.should eq 3
27
27
  @author.title.should match /Kim/
28
28
  @author.link.should be_a NPR::Entity::Link
29
29
  end
30
- end
30
+ end
@@ -6,15 +6,15 @@ describe NPR::Entity::Base do
6
6
  @reset = NPR::Entity::Base.send :_shallow_attributes
7
7
  NPR::Entity::Base.shallow_attribute("banjo", "kazooie")
8
8
  end
9
-
9
+
10
10
  after :all do
11
11
  NPR::Entity::Base.send :_shallow_attributes=, @reset
12
12
  end
13
-
13
+
14
14
  it "assigns shallow_attributes" do
15
15
  NPR::Entity::Base._shallow_attributes.should eq ["banjo", "kazooie"]
16
16
  end
17
-
17
+
18
18
  it "defines accessors" do
19
19
  entity = NPR::Entity::Base.new
20
20
  entity.should respond_to :banjo
@@ -23,33 +23,33 @@ describe NPR::Entity::Base do
23
23
  entity.should respond_to :kazooie=
24
24
  end
25
25
  end
26
-
26
+
27
27
  #--------------------
28
-
28
+
29
29
  describe "::has_many" do
30
30
  before :all do
31
31
  @reset = NPR::Entity::Base.send :_has_many_relations
32
32
  NPR::Entity::Base.has_many("objects", :key => "object", :class_name => Object)
33
33
  end
34
-
34
+
35
35
  after :all do
36
36
  NPR::Entity::Base.send :_has_many_relations=, @reset
37
37
  end
38
-
38
+
39
39
  it "assigns relations" do
40
- NPR::Entity::Base._has_many_relations.should eq [{
41
- :name => "objects",
42
- :key => "object",
40
+ NPR::Entity::Base._has_many_relations.should eq [{
41
+ :name => "objects",
42
+ :key => "object",
43
43
  :class_name => Object
44
44
  }]
45
45
  end
46
-
46
+
47
47
  it "defines accessors" do
48
48
  entity = NPR::Entity::Base.new
49
49
  entity.should respond_to :objects
50
50
  entity.should respond_to :objects=
51
51
  end
52
-
52
+
53
53
  it "sets reader to array on first access" do
54
54
  entity = NPR::Entity::Base.new
55
55
  entity.instance_variable_get(:@objects).should eq nil
@@ -57,27 +57,27 @@ describe NPR::Entity::Base do
57
57
  entity.instance_variable_get(:@objects).should eq []
58
58
  end
59
59
  end
60
-
60
+
61
61
  #--------------------
62
-
62
+
63
63
  describe "::has_one" do
64
64
  before :all do
65
65
  @reset = NPR::Entity::Base.send :_has_one_relations
66
66
  NPR::Entity::Base.has_one "object", :class_name => Object
67
67
  end
68
-
68
+
69
69
  after :all do
70
70
  NPR::Entity::Base.send :_has_one_relations=, @reset
71
71
  end
72
-
72
+
73
73
  it "assigns relations" do
74
74
  NPR::Entity::Base._has_one_relations.should eq [{
75
- :name => "object",
76
- :key => "object",
75
+ :name => "object",
76
+ :key => "object",
77
77
  :class_name => Object
78
78
  }]
79
79
  end
80
-
80
+
81
81
  it "defines accessor" do
82
82
  entity = NPR::Entity::Base.new
83
83
  entity.should respond_to :object
@@ -36,11 +36,11 @@ describe NPR::Entity::BookEdition do
36
36
  }
37
37
  JSON
38
38
  end
39
-
39
+
40
40
  before :each do
41
41
  @book_edition = NPR::Entity::BookEdition.new(@fixture)
42
42
  end
43
-
43
+
44
44
  it "sets up attributes" do
45
45
  @book_edition.id.should eq 153611349
46
46
  @book_edition.isbn.should be_a String
@@ -50,8 +50,8 @@ describe NPR::Entity::BookEdition do
50
50
  @book_edition.pagination.should match /561 pages/
51
51
  @book_edition.listPrice.should match /25\.99/
52
52
  end
53
-
53
+
54
54
  it "creates relations" do
55
55
  @book_edition.book.should be_a NPR::Entity::Book
56
56
  end
57
- end
57
+ end
@@ -15,7 +15,7 @@ describe NPR::Entity::Book do
15
15
  }
16
16
  JSON
17
17
  end
18
-
18
+
19
19
  before :each do
20
20
  @book = NPR::Entity::Book.new(@fixture)
21
21
  end
@@ -24,7 +24,7 @@ describe NPR::Entity::Book do
24
24
  @book.id.should eq 153611337
25
25
  @book.title.should eq "2312"
26
26
  end
27
-
27
+
28
28
  it "creates relations" do
29
29
  @book.link.should be_a NPR::Entity::Link
30
30
  end
@@ -22,16 +22,16 @@ describe NPR::Entity::Byline do
22
22
  }
23
23
  JSON
24
24
  end
25
-
25
+
26
26
  before :each do
27
27
  @byline = NPR::Entity::Byline.new(@fixture)
28
28
  end
29
-
29
+
30
30
  it "sets up attributes" do
31
31
  @byline.id.should be_a Fixnum
32
32
  @byline.id.should_not eq 0
33
33
  end
34
-
34
+
35
35
  it "creates relations" do
36
36
  @byline.links.size.should eq 2
37
37
  @byline.links.first.should be_a NPR::Entity::Link
@@ -31,7 +31,7 @@ describe NPR::Entity::Collection do
31
31
  }
32
32
  JSON
33
33
  end
34
-
34
+
35
35
  before :each do
36
36
  @collection = NPR::Entity::Collection.new(@fixture)
37
37
  end
@@ -11,11 +11,11 @@ describe NPR::Entity::Crop do
11
11
  }
12
12
  JSON
13
13
  end
14
-
14
+
15
15
  before :each do
16
16
  @crop = NPR::Entity::Crop.new(@fixture)
17
17
  end
18
-
18
+
19
19
  it "sets attributes" do
20
20
  @crop.type.should eq "enlargement"
21
21
  @crop.src.should match /media\.npr/
@@ -9,11 +9,11 @@ describe NPR::Entity::Enlargement do
9
9
  }
10
10
  JSON
11
11
  end
12
-
12
+
13
13
  before :each do
14
14
  @enlargement = NPR::Entity::Enlargement.new(@fixture)
15
15
  end
16
-
16
+
17
17
  it "sets attributes" do
18
18
  @enlargement.src.should match /media\.npr/
19
19
  @enlargement.caption.should eq ""
@@ -0,0 +1,39 @@
1
+ require "spec_helper"
2
+
3
+ describe NPR::Entity::ExternalAsset do
4
+ json_fixture do
5
+ <<-JSON
6
+ {
7
+ "id": "206744041",
8
+ "type": "Twitter",
9
+ "url": {
10
+ "$text": "https://twitter.com/danmericaCNN/statuses/361945098524717056"
11
+ },
12
+ "oEmbed": {
13
+ "$text": "oembed-361945098524717056"
14
+ },
15
+ "externalId": {
16
+ "$text": "361945098524717056"
17
+ },
18
+ "credit": {},
19
+ "parameters": {},
20
+ "caption": {}
21
+ }
22
+ JSON
23
+ end
24
+
25
+ # NOTE: I couldn't find an externalAsset in the API which actually
26
+ # has "credit", "parameters", or "caption" filled in, and this node
27
+ # isn't documented, so I kind of have no idea what they are.
28
+ before :each do
29
+ @external_asset = NPR::Entity::ExternalAsset.new(@fixture)
30
+ end
31
+
32
+ it "sets attributes" do
33
+ @external_asset.id.should eq 206744041
34
+ @external_asset.type.should eq "Twitter"
35
+ @external_asset.url.should match /danmericaCNN/
36
+ @external_asset.oEmbed.should eq "oembed-361945098524717056"
37
+ @external_asset.externalId.should eq "361945098524717056"
38
+ end
39
+ end
@@ -23,19 +23,19 @@ describe NPR::Entity::Formats do
23
23
  }
24
24
  JSON
25
25
  end
26
-
26
+
27
27
  before :each do
28
28
  @formats = NPR::Entity::Formats.new(@fixture)
29
29
  end
30
-
30
+
31
31
  it "sets up attributes" do
32
32
  @formats.wm.should match /npr\.org/
33
33
  @formats.rm.should eq nil
34
34
  @formats.mediastream.should match /flash/
35
35
  end
36
-
36
+
37
37
  it "creates relations" do
38
38
  @formats.mp3s.size.should eq 2
39
39
  @formats.mp3s.first.should be_a NPR::Entity::MP3
40
40
  end
41
- end
41
+ end
@@ -45,11 +45,11 @@ describe NPR::Entity::Image do
45
45
  }
46
46
  JSON
47
47
  end
48
-
48
+
49
49
  before :each do
50
50
  @image = NPR::Entity::Image.new(@fixture)
51
51
  end
52
-
52
+
53
53
  it "sets attributes" do
54
54
  @image.id.should eq 167273389
55
55
  @image.type.should eq "standard"
@@ -58,28 +58,28 @@ describe NPR::Entity::Image do
58
58
  @image.hasBorder.should eq false
59
59
  @image.link.should eq ""
60
60
  end
61
-
61
+
62
62
  it "sets enlargement" do
63
63
  @image.enlargement.should be_a NPR::Entity::Enlargement
64
64
  end
65
-
65
+
66
66
  it "sets provider" do
67
67
  @image.provider.url.should eq ""
68
68
  @image.provider.to_s.should match /Brendan./
69
69
  end
70
-
70
+
71
71
  it "sets crops" do
72
72
  @image.crops.size.should eq 2
73
73
  @image.crops.first.should be_a NPR::Entity::Crop
74
74
  end
75
-
75
+
76
76
  it "sets shallow attributes" do
77
77
  @image.title.should match /Jason/
78
78
  @image.caption.should match /Geri/
79
79
  @image.producer.should eq ""
80
80
  @image.copyright.should eq ""
81
81
  end
82
-
82
+
83
83
  it "responds to type methods" do
84
84
  @image.primary?.should eq false
85
85
  @image.standard?.should eq true
@@ -9,16 +9,16 @@ describe NPR::Entity::IntroText do
9
9
  }
10
10
  JSON
11
11
  end
12
-
12
+
13
13
  before :each do
14
14
  @intro_text = NPR::Entity::IntroText.new(@fixture)
15
15
  end
16
-
16
+
17
17
  it "sets attributes" do
18
18
  @intro_text.num.should eq 5
19
19
  @intro_text.content.should match /sweeping space opera/
20
20
  end
21
-
21
+
22
22
  it "uses @content for to_s" do
23
23
  @intro_text.to_s.should eq @intro_text.content
24
24
  end
@@ -9,16 +9,16 @@ describe NPR::Entity::Link do
9
9
  }
10
10
  JSON
11
11
  end
12
-
12
+
13
13
  before :each do
14
14
  @link = NPR::Entity::Link.new(@fixture)
15
15
  end
16
-
16
+
17
17
  it "sets attributes" do
18
18
  @link.type.should eq "html"
19
19
  @link.content.should match /npr\.org/
20
20
  end
21
-
21
+
22
22
  it "uses @content for to_s" do
23
23
  @link.to_s.should match /npr\.org/
24
24
  end
@@ -5,16 +5,16 @@ describe NPR::Entity::List do
5
5
  response = mock_response "json/01_story_full_media.json" do
6
6
  NPR::API::Client.new(:apiKey => "key").query(:id => 999)
7
7
  end
8
-
8
+
9
9
  @list = response.list
10
10
  end
11
-
11
+
12
12
  it "extracts the attributes" do
13
13
  @list.title.should match /NPR/
14
14
  @list.teaser.should match /NPR/
15
15
  @list.miniTeaser.should match /NPR/
16
16
  end
17
-
17
+
18
18
  it "sets up relations" do
19
19
  @list.links.size.should eq 2
20
20
  @list.stories.size.should eq 1
@@ -15,16 +15,16 @@ describe NPR::Entity::ListText do
15
15
  }
16
16
  JSON
17
17
  end
18
-
18
+
19
19
  before :each do
20
20
  @list_text = NPR::Entity::ListText.new(@fixture)
21
21
  end
22
-
22
+
23
23
  it "sets up attributes" do
24
24
  @list_text.id.should eq 166558361
25
25
  @list_text.tag.should eq "p"
26
26
  end
27
-
27
+
28
28
  it "sets up relations" do
29
29
  @list_text.paragraphs.first.should be_a NPR::Entity::Paragraph
30
30
  end
@@ -9,11 +9,11 @@ describe NPR::Entity::MemberByline do
9
9
  }
10
10
  JSON
11
11
  end
12
-
12
+
13
13
  before :each do
14
14
  @member_byline = NPR::Entity::MemberByline.new(@fixture)
15
15
  end
16
-
16
+
17
17
  it "sets attributes" do
18
18
  @member_byline.refId.should eq 166481286
19
19
  @member_byline.num.should eq 6
@@ -9,11 +9,11 @@ describe NPR::Entity::MemberPromoArt do
9
9
  }
10
10
  JSON
11
11
  end
12
-
12
+
13
13
  before :each do
14
14
  @member_promo_art = NPR::Entity::MemberPromoArt.new(@fixture)
15
15
  end
16
-
16
+
17
17
  it "sets attributes" do
18
18
  @member_promo_art.refId.should eq 153611356
19
19
  @member_promo_art.num.should eq 1
@@ -39,15 +39,15 @@ describe NPR::Entity::Member do
39
39
  }
40
40
  JSON
41
41
  end
42
-
42
+
43
43
  before :each do
44
44
  @member = NPR::Entity::Member.new(@fixture)
45
45
  end
46
-
46
+
47
47
  it "sets up attributes" do
48
48
  @member.id.should eq 166481250
49
49
  end
50
-
50
+
51
51
  it "sets up relations" do
52
52
  @member.promoArt.should be_a NPR::Entity::MemberPromoArt
53
53
  @member.title.should be_a NPR::Entity::Title
@@ -56,4 +56,4 @@ describe NPR::Entity::Member do
56
56
  @member.introText.should be_a NPR::Entity::IntroText
57
57
  @member.byline.should be_a NPR::Entity::MemberByline
58
58
  end
59
- end
59
+ end
@@ -9,17 +9,17 @@ describe NPR::Entity::MP3 do
9
9
  }
10
10
  JSON
11
11
  end
12
-
12
+
13
13
  before :each do
14
14
  @mp3 = NPR::Entity::MP3.new(@fixture)
15
15
  end
16
-
16
+
17
17
  it "sets attributes" do
18
18
  @mp3.type.should eq "mp3"
19
19
  @mp3.content.should match /pd\.npr/
20
20
  end
21
-
21
+
22
22
  it "uses @content for #to_s" do
23
23
  @mp3.to_s.should eq @mp3.content
24
24
  end
25
- end
25
+ end
@@ -9,16 +9,16 @@ describe NPR::Entity::Name do
9
9
  }
10
10
  JSON
11
11
  end
12
-
12
+
13
13
  before :each do
14
14
  @name = NPR::Entity::Name.new(@fixture)
15
15
  end
16
-
16
+
17
17
  it "sets attributes" do
18
18
  @name.personId.should eq 134991966
19
19
  @name.content.should match /Julie/
20
20
  end
21
-
21
+
22
22
  it "uses @content for to_s" do
23
23
  @name.to_s.should eq @name.content
24
24
  end