klepto 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/klepto/bot.rb CHANGED
@@ -15,6 +15,7 @@ module Klepto
15
15
  # and restore method_missing (for sanity sake)
16
16
  instance_eval <<-EOS
17
17
  def queue; @queue; end;
18
+ def parse!(*_urls); __process!(*_urls); end;
18
19
  def resources; @resources; end;
19
20
  def method_missing(meth, *args, &block)
20
21
  raise NoMethodError.new("undefined method: Klepto::Bot#" + meth.to_s)
@@ -25,10 +26,10 @@ EOS
25
26
  end
26
27
 
27
28
  # Structure all the pages
28
- def __process!
29
+ def __process!(*_urls)
29
30
  @resources = []
30
31
 
31
- config.urls.each do |url|
32
+ (_urls + config.urls).each do |url|
32
33
  browser = Klepto::Browser.new
33
34
 
34
35
  browser.set_headers config.headers
@@ -1,3 +1,3 @@
1
1
  module Klepto
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
@@ -178,6 +178,11 @@ describe Klepto::Bot do
178
178
  @structure.first[:last_tweet][:twitter_id].should == @structure.first[:tweets].first[:twitter_id]
179
179
  end
180
180
 
181
+ it 'should be able to #parse! a url' do
182
+ @new_structure = @bot.parse!("https://twitter.com/justinbieber")
183
+ @new_structure.first[:name].should match(/Justin/i)
184
+ end
185
+
181
186
  it 'should store the data' do
182
187
  User.first.name.should eq( @structure.first[:name] )
183
188
  User.count.should be(1)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: klepto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: poltergeist
16
- requirement: &70291728510800 !ruby/object:Gem::Requirement
16
+ requirement: &70339577781640 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70291728510800
24
+ version_requirements: *70339577781640
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: capybara
27
- requirement: &70291728508300 !ruby/object:Gem::Requirement
27
+ requirement: &70339577780940 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.0.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70291728508300
35
+ version_requirements: *70339577780940
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &70291728505540 !ruby/object:Gem::Requirement
38
+ requirement: &70339577780120 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.5.6
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70291728505540
46
+ version_requirements: *70339577780120
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activesupport
49
- requirement: &70291728504060 !ruby/object:Gem::Requirement
49
+ requirement: &70339577778420 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70291728504060
57
+ version_requirements: *70339577778420
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: multi_json
60
- requirement: &70291728495700 !ruby/object:Gem::Requirement
60
+ requirement: &70339577777160 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '1.0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70291728495700
68
+ version_requirements: *70339577777160
69
69
  description: Tearing up web pages into ActiveRecord resources
70
70
  email:
71
71
  - github@coryodaniel.com