nicoapi-parser 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b6abd25615736aa682614ba4bc32c3a171963ca
4
- data.tar.gz: 54d9295d349f6e95c7cf68257813ffe157c94c0b
3
+ metadata.gz: ce8b6d903507a94d8dde344f0d70f6b7300ec0a5
4
+ data.tar.gz: c01d9da754d868c9f1dfb059868cc163458a54f3
5
5
  SHA512:
6
- metadata.gz: b59d0e708644f7238e71e111a33fe50d1eb95d4c7b5084432393e139ea051d1c39868df7ad04b3b1d0310386cc028f2f0092bb6991430b4eb03d32e52a22e586
7
- data.tar.gz: 2e976977a9c7e291868827958e1bea0b948588e604a5debf67f793f4be2223ebe661c04d7a5da9c0dc8e50243fa37fb101ab556b4d260479e96c66bb7e1f4581
6
+ metadata.gz: d61fec288be621d0462ab7a43af42a501cc9e4761dd2519c5ab331827a14f583949d84895ce9ff2bfc772a45a6c87520c9a000e74c62d2b7d2120377fbb28098
7
+ data.tar.gz: 621be1bb79fe4fc1e41895d45f569731c65f3155380a84c6bee22269618d34b6419e9ce4f9f1d6608eac74867c38b814581ce5a038d8a5f759f15413337d4d23
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Build Status](https://secure.travis-ci.org/a2ikm/nabeatsu.png)](http://travis-ci.org/a2ikm/nabeatsu)
1
+ [![Build Status](https://secure.travis-ci.org/hdemon/nicoapi-parser.png)](http://travis-ci.org/hdemon/nicoapi-parser)
2
2
 
3
3
  # Nicoapi::Parser
4
4
 
@@ -2,7 +2,6 @@ require "nicoapi/parser/version"
2
2
  require "nori"
3
3
  require "nokogiri"
4
4
 
5
- require "pry"
6
5
 
7
6
  module NicoAPI
8
7
  module Parser
@@ -11,12 +10,8 @@ module NicoAPI
11
10
  @parser = Nori.new
12
11
  end
13
12
 
14
- def setXml(xml)
15
- @xml = xml
16
- end
17
-
18
- def parse
19
- @object = (@parser.parse @xml)["rss"]["channel"]
13
+ def parse(xml)
14
+ @object = (@parser.parse xml)["rss"]["channel"]
20
15
 
21
16
  @items = @object["item"].map do |item_object|
22
17
  Item.new item_object
@@ -84,9 +79,26 @@ module NicoAPI
84
79
  end
85
80
 
86
81
  def text
87
- @raw_text.scan(/(?<=class\=\"nico\-description\").{1,}(?=\<\/p\>)/)
82
+ @raw_text.scan /(?<=class\=\"nico\-description\").{1,}(?=\<\/p\>)/
88
83
  $&
89
84
  end
85
+
86
+ def movie_references
87
+ # is this the high road?
88
+ text.scan(/((sm|nm)\d{1,8})/).map {|e| e[0]}
89
+ end
90
+
91
+ def mylist_references
92
+ text.scan /mylist\/\d{1,8}/
93
+ end
94
+
95
+ def community_references
96
+ text.scan /co\d{1,8}/
97
+ end
98
+
99
+ def seiga_references
100
+ text.scan /im\d{1,8}/
101
+ end
90
102
  end
91
103
  end
92
104
 
@@ -1,5 +1,5 @@
1
1
  module Nicoapi
2
2
  module Parser
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -5,8 +5,7 @@ require "./spec/fixture"
5
5
  describe "TagSearch" do
6
6
  before do
7
7
  @instance = NicoAPI::Parser::TagSearch.new
8
- @instance.setXml Fixture.tag_search_rss
9
- @instance.parse
8
+ @instance.parse Fixture.tag_search_rss
10
9
  end
11
10
 
12
11
  shared_examples "url string" do
@@ -71,7 +70,6 @@ describe "TagSearch" do
71
70
  end
72
71
 
73
72
  describe "Description" do
74
-
75
73
  describe "raw_text" do
76
74
  subject { @instance.items[0].description.raw_text }
77
75
  specify { expect(subject).to be_kind_of(String) }
@@ -82,6 +80,33 @@ describe "TagSearch" do
82
80
  specify { expect(subject).to be_kind_of(String) }
83
81
  end
84
82
 
83
+ # spec/fixture.rbを参照。
84
+ describe "movie_references" do
85
+ subject { @instance.items[5].description.movie_references }
86
+ specify { expect(subject).to be_kind_of(Array) }
87
+ specify { expect(subject.length).to eq 4 }
88
+ end
89
+
90
+ # Fixtureの最初の動画では、'mylist/(数字)'の記載が2つある。
91
+ describe "mylist_references" do
92
+ subject { @instance.items[0].description.mylist_references }
93
+ specify { expect(subject).to be_kind_of(Array) }
94
+ specify { expect(subject.length).to eq 2 }
95
+ end
96
+
97
+ # Fixtureの3番目の動画では、'co(数字)'の記載が2つある。
98
+ describe "community_references" do
99
+ subject { @instance.items[2].description.community_references }
100
+ specify { expect(subject).to be_kind_of(Array) }
101
+ specify { expect(subject.length).to eq 1 }
102
+ end
103
+
104
+ # Fixtureの3番目の動画では、'im(数字)'の記載が1つある。
105
+ describe "seiga_references" do
106
+ subject { @instance.items[3].description.seiga_references }
107
+ specify { expect(subject).to be_kind_of(Array) }
108
+ specify { expect(subject.length).to eq 1 }
109
+ end
85
110
  end
86
111
  end
87
112
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nicoapi-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masami Yonehara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-29 00:00:00.000000000 Z
11
+ date: 2013-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri