my-lib 0.0.1.6 → 0.0.1.7

Sign up to get free protection for your applications and to get access to all the features.
data/TAGS CHANGED
@@ -10,19 +10,19 @@ class MyJobAnisokuMyJobAnisoku18,554
10
10
  def tokkakaritokkakari40,1167
11
11
  def secondsecond61,1648
12
12
  def kobetukobetu83,2229
13
- def thirdthird117,3586
14
- def fc2fc2154,4592
15
- def videovideo170,5064
16
- def runrun198,5957
17
- class MyJobDojinMyJobDojin220,6269
18
- def initialize(args = { })initialize222,6287
19
- def runrun245,7028
20
- def do_connectdo_connect251,7073
21
- def save_content(content)save_content280,7852
22
- def checkdircheckdir288,8047
23
- def file_already_saved?file_already_saved?296,8163
24
- class MyJobDojinEventMachine < MyJobDojinMyJobDojinEventMachine304,8296
25
- def do_connectdo_connect308,8354
13
+ def thirdthird117,3588
14
+ def fc2fc2153,4589
15
+ def videovideo169,5061
16
+ def runrun197,5956
17
+ class MyJobDojinMyJobDojin219,6268
18
+ def initialize(args = { })initialize221,6286
19
+ def runrun244,7027
20
+ def do_connectdo_connect250,7072
21
+ def save_content(content)save_content279,7851
22
+ def checkdircheckdir287,8046
23
+ def file_already_saved?file_already_saved?295,8162
24
+ class MyJobDojinEventMachine < MyJobDojinMyJobDojinEventMachine303,8295
25
+ def do_connectdo_connect307,8353
26
26
 
27
27
  ,1352
28
28
  module MyMachineMyMachine7,106
@@ -125,19 +125,19 @@ class MyJobAnisokuMyJobAnisoku18,554
125
125
  def tokkakaritokkakari40,1167
126
126
  def secondsecond61,1648
127
127
  def kobetukobetu83,2229
128
- def thirdthird117,3586
129
- def fc2fc2154,4592
130
- def videovideo170,5064
131
- def runrun198,5957
132
- class MyJobDojinMyJobDojin220,6269
133
- def initialize(args = { })initialize222,6287
134
- def runrun245,7028
135
- def do_connectdo_connect251,7073
136
- def save_content(content)save_content280,7852
137
- def checkdircheckdir288,8047
138
- def file_already_saved?file_already_saved?296,8163
139
- class MyJobDojinEventMachine < MyJobDojinMyJobDojinEventMachine304,8296
140
- def do_connectdo_connect308,8354
128
+ def thirdthird117,3588
129
+ def fc2fc2153,4589
130
+ def videovideo169,5061
131
+ def runrun197,5956
132
+ class MyJobDojinMyJobDojin219,6268
133
+ def initialize(args = { })initialize221,6286
134
+ def runrun244,7027
135
+ def do_connectdo_connect250,7072
136
+ def save_content(content)save_content279,7851
137
+ def checkdircheckdir287,8046
138
+ def file_already_saved?file_already_saved?295,8162
139
+ class MyJobDojinEventMachine < MyJobDojinMyJobDojinEventMachine303,8295
140
+ def do_connectdo_connect307,8353
141
141
 
142
142
  ,1352
143
143
  module MyMachineMyMachine7,106
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1.6
1
+ 0.0.1.7
data/lib/lib/job.rb CHANGED
@@ -48,10 +48,10 @@ class MyJobAnisoku
48
48
  targs.each_with_index do |link,i|
49
49
  break if i >= @a[:recent]
50
50
  job = MyJobAnisoku.new(
51
- @a.merge({
52
- :url => link,
53
- :status => :second
54
- }) )
51
+ @a.merge({
52
+ :url => link,
53
+ :status => :second
54
+ }) )
55
55
  @a[:machine].retry job
56
56
  end
57
57
 
@@ -71,10 +71,10 @@ class MyJobAnisoku
71
71
  # make job for each links_kobetu
72
72
  links_kobetu.each do |link|
73
73
  job = MyJobAnisoku.new(
74
- @a.merge({
75
- :url => link,
76
- :status => :kobetu
77
- } ))
74
+ @a.merge({
75
+ :url => link,
76
+ :status => :kobetu
77
+ } ))
78
78
  @a[:machine].retry job
79
79
  end
80
80
  end
@@ -86,28 +86,28 @@ class MyJobAnisoku
86
86
  title = @agent.page.title.gsub(' ★ You Tube アニ速 ★','')
87
87
  # acume url
88
88
  htmlA = @agent.page/"/html/body/table/tr[2]/td/table/tr/td[2]/div[4]/div[@class='kijisub']"
89
- require 'pp'
89
+ require 'pp'
90
90
  targsHTMLs = htmlA.inner_html.toutf8.split(/ランキング/)[0].split(/\n第/).reverse!
91
- #http://posterous.com/getfile/files.posterous.com/temp-2011-08-21/eolunzlwwwFopCnhszaBwJlFEJEnHcloqkoyaFuhdezmdgipcyyiyzdpqcpG/cro08nyoutube.doc
91
+ #http://posterous.com/getfile/files.posterous.com/temp-2011-08-21/eolunzlwwwFopCnhszaBwJlFEJEnHcloqkoyaFuhdezmdgipcyyiyzdpqcpG/cro08nyoutube.doc
92
92
  require 'digest'
93
93
  targsHTMLs.each_with_index do |html,i|
94
94
  break if i >= @a[:limit]
95
95
  key = title + html.to_s
96
96
  unless @a[:machine].episode_exists?( Digest::MD5.hexdigest(key) )
97
- # puts "NOW 2 PROCEED FETCH".green.bold + html[0..20].yellow.bold
97
+ # puts "NOW 2 PROCEED FETCH".green.bold + html[0..20].yellow.bold
98
98
  indi = Nokogiri::HTML.fragment(html).css("a")
99
99
  indi.each do |va|
100
100
  if va[:href] =~ /(http:\/\/say-move\.org\/comeplay\.php.*)/
101
101
  job = MyJobAnisoku.new(
102
- @a.merge({
103
- :url => $1,
104
- :title => title + '第' + html.split('<').first.gsub(' ','').gsub(' ',''),
105
- :status => :third}))
102
+ @a.merge({
103
+ :url => $1,
104
+ :title => title + '第' + html.split('<').first.gsub(' ','').gsub(' ',''),
105
+ :status => :third}))
106
106
  @a[:machine].retry job
107
107
  end
108
108
  end
109
109
  else
110
- # puts "CANCELL FETCH".cyan.bold + html[0..20].yellow.bold
110
+ # puts "CANCELL FETCH".cyan.bold + html[0..20].yellow.bold
111
111
  end
112
112
  key = nil
113
113
  end
@@ -130,12 +130,12 @@ require 'pp'
130
130
  fc2 = set[0].value.split('&')[1].split('=')[1]
131
131
  unless fc2.nil?
132
132
  job = MyJobAnisoku.new(
133
- @a.merge({
134
- :url => sm[:url],
135
- :fc2 => fc2,
136
- :title => sm[:title],
137
- :status => :fc2
138
- }))
133
+ @a.merge({
134
+ :url => sm[:url],
135
+ :fc2 => fc2,
136
+ :title => sm[:title],
137
+ :status => :fc2
138
+ }))
139
139
  @a[:machine].retry job
140
140
  return
141
141
  else
@@ -143,12 +143,12 @@ require 'pp'
143
143
  end
144
144
 
145
145
  job = MyJobAnisoku.new(
146
- @a.merge({
147
- :url => sm[:videourl],
148
- :title => sm[:title],
149
- :status => :video
150
- }))
151
- @a[:machine].retry job
146
+ @a.merge({
147
+ :url => sm[:videourl],
148
+ :title => sm[:title],
149
+ :status => :video
150
+ }))
151
+ @a[:machine].retry job
152
152
  end
153
153
 
154
154
  def fc2
@@ -159,11 +159,11 @@ require 'pp'
159
159
  url = url.split('&')[0].split('=')[1] + '?' + url.split('&')[1]
160
160
  puts url.red.bold
161
161
  job = MyJobAnisoku.new(
162
- @a.merge({
163
- :url => url,
164
- :status => :video
165
- }))
166
- @a[:machine].retry job
162
+ @a.merge({
163
+ :url => url,
164
+ :status => :video
165
+ }))
166
+ @a[:machine].retry job
167
167
  end
168
168
 
169
169
  #fetch video
@@ -188,9 +188,9 @@ require 'pp'
188
188
  uri = "http://#{@a[:url].host}#{@a[:url].path}"
189
189
  uri += "?#{@a[:url].query}" if @a[:url].query
190
190
  command = "curl -# -L -R -o '#{filename}' '#{uri}' "
191
- # command += "&& growlnotify -t '#{filename}' -m '#{uri}' "
191
+ # command += "&& growlnotify -t '#{filename}' -m '#{uri}' "
192
192
 
193
- # puts command
193
+ # puts command
194
194
  system command
195
195
  end
196
196
 
@@ -213,19 +213,20 @@ require 'pp'
213
213
  end
214
214
  end
215
215
  end
216
-
217
216
  end
218
217
 
219
218
 
220
219
  class MyJobDojin
221
220
 
221
+ attr_accessor :args
222
+
222
223
  def initialize(args = { })
223
224
  require 'net/http'
224
225
  @args = args
225
226
 
226
227
  #sample http://1patu.net/data/20591/preview/000.jpg
227
228
  @args[:path] = "/data/#{@args[:book].to_s}/preview/" +
228
- sprintf("%0#{3}d", @args[:page]) + ".jpg"
229
+ sprintf("%0#{3}d", @args[:page]) + ".jpg"
229
230
  @args[:cookie] ||= { 'Cookie' => '1patu_view=1'}
230
231
  @args[:status] = :new
231
232
  @args[:try] = 0
@@ -234,18 +235,20 @@ class MyJobDojin
234
235
  @args[:savebookdir] = "#{@args[:savedir].to_s}/#{@args[:book].to_s}"
235
236
  checkdir
236
237
  @args[:savepath] = "#{@args[:savebookdir]}/" +
237
- sprintf("%0#{3}d", @args[:page]) + ".jpg"
238
+ sprintf("%0#{3}d", @args[:page]) + ".jpg"
238
239
  @machine = @args[:machine]
239
240
 
240
241
  #debug
241
242
  @args[:debug] ||= false
242
- @args[:savepath] = '/dev/null' if @args[:debug]
243
+ @args[:savepath] = '/dev/null' if @args[:dryrun]
243
244
  end
244
245
 
245
246
  def run
246
247
  do_connect
247
248
  end
248
249
 
250
+
251
+
249
252
  private
250
253
 
251
254
  def do_connect
@@ -282,6 +285,7 @@ class MyJobDojin
282
285
  io.write(content)
283
286
  end
284
287
  print "fetched:".green.bold + @args[:path]
288
+ @machine.savecontent(@args[:savepath])
285
289
  end
286
290
 
287
291
  # ダウンロード保存先を作る
@@ -289,7 +293,7 @@ class MyJobDojin
289
293
  begin
290
294
  Dir::mkdir(@args[:savebookdir], 0777)
291
295
  rescue => ex
292
- # warn ex
296
+ # warn ex
293
297
  end
294
298
  end
295
299
 
@@ -306,42 +310,50 @@ class MyJobDojinEventMachine < MyJobDojin
306
310
  private
307
311
 
308
312
  def do_connect
309
- return if @machine.bookended?(@args[:book])
310
- return if file_already_saved?
313
+ return if file_already_saved?
311
314
 
312
- if @machine.connection_exceed? #コネクション限界を超えていないか?
313
- @machine.retry(self)
314
- return
315
- end
315
+ # if @machine.connection_exceed? #コネクション限界を超えていないか?
316
+ # @machine.retry(self)
317
+ # print "E".red.bold
318
+ # return
319
+ # end
316
320
 
317
- @machine.connection_count!
318
-
319
- @http = EventMachine::Protocols::HttpClient.request(
320
- :host => @args[:server],
321
- :port => @args[:port],
322
- :request => @args[:path],
323
- :cookie => @args[:cookie]['Cookie']
324
- )
321
+ @http = EventMachine::Protocols::HttpClient.
322
+ request(
323
+ :host => @args[:server],
324
+ :port => @args[:port],
325
+ :request => @args[:path],
326
+ :cookie => @args[:cookie]['Cookie']
327
+ )
328
+ @machine.connection_count!
329
+ @http.errback{
330
+ begin
331
+ ensure
332
+ @machine.connection_end!
333
+ end
334
+ }
325
335
 
326
- @http.callback {|response|
327
- @machine.connection_end!
328
- if response[:status] == 200
329
- # 200 はレスポンスの中身を保存する
330
- save_content(response[:content])
331
- elsif response[:status] == 503 ||
332
- response[:status] == 500 ||
333
- response[:status] == 403
334
- # 503/500/403はリトライする
335
- @args[:try] += 1
336
- @machine.retry(self) if @args[:try] < 6
337
- elsif response[:status] == 404
338
- # 404は終了する
339
- @machine.bookend(@args[:book])
340
- else
341
- puts response[:status].to_s.red.bold
342
- puts response[:headers].to_s.red.bold
343
- end
344
- }
336
+ @http.callback {|response|
337
+ begin
338
+ if response[:status] == 200
339
+ # 200 はレスポンスの中身を保存する
340
+ save_content(response[:content])
341
+ elsif response[:status] == 503 ||
342
+ response[:status] == 500 ||
343
+ response[:status] == 403
344
+ # 503/500/403はリトライする
345
+ @args[:try] += 1
346
+ @machine.retry(self) if @args[:try] < 6
347
+ elsif response[:status] == 404
348
+ # 404は終了する
349
+ else
350
+ puts response[:status].to_s.red.bold
351
+ puts response[:headers].to_s.red.bold
352
+ end
353
+ ensure
354
+ @machine.connection_end!
355
+ end
356
+ }
345
357
  end
346
358
  end
347
359
 
data/lib/lib/machine.rb CHANGED
@@ -6,10 +6,6 @@
6
6
  # this class has queue of jobs.controll jobs and run jobs
7
7
  module MyMachine
8
8
 
9
- Version = "0.0.1"
10
-
11
- attr_accessor :queue
12
-
13
9
  def initialize
14
10
  require 'thread'
15
11
  @queue = Queue.new
@@ -21,7 +17,7 @@ module MyMachine
21
17
  end
22
18
 
23
19
  def go
24
- puts "You need write the go method!"
20
+ raise "You need write the go method!"
25
21
  end
26
22
 
27
23
  def retry(job)
@@ -31,17 +27,16 @@ module MyMachine
31
27
  private
32
28
 
33
29
  def setupjobs
34
- puts "You need write the setupjobs method!"
30
+ puts "iF need, write the setupjobs method!"
35
31
  end
36
32
 
37
33
  def setupmachine
38
- puts "You need write the setupmachine method!"
34
+ puts "if need, write the setupmachine method!"
39
35
  end
40
36
 
41
37
  end
42
38
 
43
-
44
- module MyMachineDojin
39
+ class MyEventMachineDojin
45
40
  include MyMachine
46
41
 
47
42
  def initialize(args={ })
@@ -52,83 +47,62 @@ module MyMachineDojin
52
47
  @args[:concurrency] ||= 10
53
48
  @args[:savedir] ||= "#{ENV['HOME']}/Downloads/jpg"
54
49
  @endbooks = []
55
- end
56
-
57
- def bookend(booknum)
58
- @endbooks << booknum
59
- end
60
-
61
- def bookended?(booknum)
62
- @endbooks.index(booknum)
63
- end
64
-
65
- private
66
-
67
- def setupjobs
68
- (0..100).each do |p|
69
- (@args[:start]..@args[:stop]).each do |b|
70
- job = MyDojinJob.new(
71
- :server => '1patu.net',
72
- :book => b,
73
- :page => p,
74
- :machine => self,
75
- :debug => @args[:debug] ||= false
76
- )
77
- @queue.push job
78
- end
79
- end
80
- end
81
- end
82
-
83
-
84
- class MyEventMachineDojin
85
- include MyMachineDojin
86
-
87
- def initialize(args={ })
88
- super args
89
- # queをEventMachineで再定義
90
50
  require 'rubygems'
91
51
  require 'eventmachine'
92
52
  @connection_count = 0
53
+ require 'thread'
54
+ @connection_que = Queue.new
55
+ @list = []
56
+ @gaman = 0
93
57
  end
94
58
 
95
59
  # EventMachine用の定義
96
60
  def go
97
- @a=1;@b=0;@c=0;@d=0;
98
61
  EM.run do
99
62
  EM.add_periodic_timer(0.00001) do
100
- @a-@b;@b-@c;@c-@d;@d-@a
101
- print 1>@a? "l".green: "l".yellow
102
- print 1>@b? "o".red: "o".white
103
- print 1>@c? "o".cyan: "o".green
104
- print 1>@d? "o".red: "o".green
63
+ print "."
105
64
  EM.stop if should_stop_machine?
106
65
  if !connection_exceed?
107
- @queue.pop.run unless @queue.empty?
66
+ unless @queue.empty?
67
+ job = @queue.pop
68
+ job.run if job
69
+ end
108
70
  end
109
71
  end
110
72
  end
111
- p @endbooks
112
- @endbooks = []
73
+ # p @endbooks.uniq!.sort
113
74
  puts "End of fetch".green.bold
114
75
  end
115
76
 
116
77
  def connection_exceed?
117
- @args[:concurrency] <= @connection_count
78
+ # @args[:concurrency] <= @connection_count
79
+ @args[:concurrency] <= @connection_que.size
118
80
  end
119
81
 
120
82
  def connection_count!
121
- @connection_count += 1
122
-
83
+ # @connection_count += 1
84
+ @connection_que.push(:t)
123
85
  end
124
86
 
125
87
  def connection_end!
126
- @connection_count -= 1
88
+ @connection_que.pop
89
+ # @connection_count -= 1
90
+ end
91
+
92
+ def savecontent(path)
93
+ @list << path
127
94
  end
128
95
 
96
+ def write
97
+ open("#{@args[:savedir]}/emit.txt" ,"w") do |io|
98
+ io.write('["')
99
+ io.write(@list.sort.join('","'))
100
+ io.write('"]')
101
+ end
102
+ end
103
+
129
104
  private
130
105
 
131
- # EventMachine用に再定義
132
106
  def setupjobs
133
107
  (0..100).each do |p|
134
108
  (@args[:start]..@args[:stop]).each do |b|
@@ -145,14 +119,13 @@ class MyEventMachineDojin
145
119
  end
146
120
  end
147
121
 
148
- # 何もしない
149
- def setupmachine
150
- end
151
-
152
122
  # Machineは終了すべきか?
153
123
  def should_stop_machine?
154
- print " q:"+ @queue.size.to_s + "/c:" + @connection_count.to_s + " "
155
- return @queue.size == 0 && @connection_count == 0
124
+ @gaman += 1 if @queue.size < 10
125
+ if @gaman > 200
126
+ write if @queue.size == 0
127
+ return true
128
+ end
156
129
  end
157
130
 
158
131
  end
@@ -168,8 +141,6 @@ end
168
141
  class MyMachineAnisoku
169
142
  include MyMachine
170
143
 
171
- Version = "0.0.1"
172
-
173
144
  # directory of save video files default "#{ENV['HOME']}/Desktop/video"
174
145
  attr_accessor :savedir
175
146
 
@@ -271,12 +242,13 @@ class MyMachineAnisoku
271
242
  puts "End of fetch".green.bold
272
243
  end
273
244
 
274
-
275
245
  # delete tiny fail files
276
246
  def finalize_files
277
247
  del_small_files
278
248
  command = "find #{@savedir} -size -1000k -type f -print0| xargs -0 rm -v "
279
- exec(command)
249
+ exec command
250
+ command = "find /Users/seijiro/Desktop/video -type f > ~/Desktop/video.m3u && open ~/Desktop/video.m3u "
251
+ exec command
280
252
  end
281
253
 
282
254
  private
data/my-lib.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{my-lib}
8
- s.version = "0.0.1.6"
8
+ s.version = "0.0.1.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{modeverv}]
12
- s.date = %q{2011-09-05}
12
+ s.date = %q{2011-09-12}
13
13
  s.description = %q{longer description of your gem}
14
14
  s.email = %q{modeverv@gmail.com}
15
15
  s.extra_rdoc_files = [
data/spec/my-lib_spec.rb CHANGED
@@ -1,15 +1,16 @@
1
+ # -*- coding:utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
3
 
3
4
  describe "MyLib" do
4
5
  it "fails" do
5
- # fail "hey buddy, you should probably rename this file and start specing for real"
6
+ # fail "hey buddy, you should probably rename this file and start specing for real"
6
7
  end
7
8
 
8
9
  it "success" do
9
10
  ####################################################
10
11
  machine = MyMachineAnisoku.new(:savepath => "/Users/seijiro/Desktop/video")
11
12
  machine.setup
12
- # machine.go
13
+ # machine.go
13
14
  end
14
15
 
15
16
  it "success get syslog" do
@@ -35,9 +36,49 @@ describe "MyConfig" do
35
36
 
36
37
  it "set config file failue" do
37
38
  proc {
38
- MyConfig.dispose
39
- MyConfig.set "aaaaaaaaaaa.yml"
40
- p MyConfig.get
39
+ MyConfig.dispose
40
+ MyConfig.set "aaaaaaaaaaa.yml"
41
+ p MyConfig.get
41
42
  }.should raise_error
42
43
  end
43
44
  end
45
+
46
+
47
+ describe "MyJobAnisoku" do
48
+
49
+ before(:each) do
50
+ @machine = MyMachineAnisoku.new
51
+ @machine.setup
52
+ @job = MyJobAnisoku.new(:machine => @machine)
53
+ end
54
+
55
+ it "check new" do
56
+ # fail
57
+ a = @job.a
58
+ fail unless a[:url]
59
+ fail unless a[:status]
60
+ fail unless a[:recent]
61
+ fail unless a[:limit]
62
+ fail unless a[:fc2magick]
63
+ end
64
+
65
+ it "tokkakariを実行するとjobが増える" do
66
+ jobqsize = @machine.instance_eval("@queue.size")
67
+ p jobqsize
68
+ @machine.instance_eval("@queue.pop.tokkakari")
69
+ jobqsize2 = @machine.instance_eval("@queue.size")
70
+ p jobqsize2
71
+ fail unless jobqsize < jobqsize2
72
+ end
73
+
74
+ it "tokkakariを実行するとjobが増える" do
75
+ jobqsize = @machine.instance_eval("@queue.size")
76
+ p jobqsize
77
+ @machine.instance_eval("@queue.pop.tokkakari")
78
+ jobqsize2 = @machine.instance_eval("@queue.size")
79
+ p jobqsize2
80
+ fail unless jobqsize < jobqsize2
81
+ end
82
+
83
+
84
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my-lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.6
4
+ version: 0.0.1.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-05 00:00:00.000000000Z
12
+ date: 2011-09-12 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: term-ansicolor
16
- requirement: &2157204260 !ruby/object:Gem::Requirement
16
+ requirement: &2151817660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2157204260
24
+ version_requirements: *2151817660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: eventmachine
27
- requirement: &2157201660 !ruby/object:Gem::Requirement
27
+ requirement: &2151816280 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2157201660
35
+ version_requirements: *2151816280
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mechanize
38
- requirement: &2157200560 !ruby/object:Gem::Requirement
38
+ requirement: &2151812380 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2157200560
46
+ version_requirements: *2151812380
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &2157186540 !ruby/object:Gem::Requirement
49
+ requirement: &2151810780 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>'
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.3.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2157186540
57
+ version_requirements: *2151810780
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yard
60
- requirement: &2157185400 !ruby/object:Gem::Requirement
60
+ requirement: &2151808960 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>'
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.6.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2157185400
68
+ version_requirements: *2151808960
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &2157184400 !ruby/object:Gem::Requirement
71
+ requirement: &2151807120 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>'
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.0.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2157184400
79
+ version_requirements: *2151807120
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: jeweler
82
- requirement: &2157183720 !ruby/object:Gem::Requirement
82
+ requirement: &2151805840 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2157183720
90
+ version_requirements: *2151805840
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rcov
93
- requirement: &2157183020 !ruby/object:Gem::Requirement
93
+ requirement: &2151804200 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2157183020
101
+ version_requirements: *2151804200
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: guard
104
- requirement: &2157182260 !ruby/object:Gem::Requirement
104
+ requirement: &2151803220 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *2157182260
112
+ version_requirements: *2151803220
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: guard-spork
115
- requirement: &2157181480 !ruby/object:Gem::Requirement
115
+ requirement: &2151801740 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *2157181480
123
+ version_requirements: *2151801740
124
124
  description: longer description of your gem
125
125
  email: modeverv@gmail.com
126
126
  executables: []
@@ -168,7 +168,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  segments:
170
170
  - 0
171
- hash: 954184079252278975
171
+ hash: -1576979100048753674
172
172
  required_rubygems_version: !ruby/object:Gem::Requirement
173
173
  none: false
174
174
  requirements: