instapaper_full 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module InstapaperFull
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -9,13 +9,16 @@ module InstapaperFull
9
9
  @options = options
10
10
  end
11
11
 
12
- def connection
13
- options = {
12
+ def connection(options = {})
13
+ skip_json = options.delete(:skip_json)
14
+
15
+ options.merge!({
14
16
  :proxy => @options[:proxy],
15
17
  :ssl => {:verify => false},
16
18
  :url => "https://www.instapaper.com/api/1/"
17
- }
18
- oauth_options = {
19
+ })
20
+
21
+ oauth_options = {
19
22
  :consumer_key => @options[:consumer_key],
20
23
  :consumer_secret => @options[:consumer_secret]
21
24
  }
@@ -24,13 +27,13 @@ module InstapaperFull
24
27
  oauth_options[:token] = @options[:oauth_token]
25
28
  oauth_options[:token_secret] = @options[:oauth_token_secret]
26
29
  end
27
-
30
+
28
31
  Faraday.new(options) do |builder|
29
32
  builder.use Faraday::Request::OAuth, oauth_options
30
33
  builder.use Faraday::Request::UrlEncoded
31
- builder.use Faraday::Response::Logger
34
+ builder.use Faraday::Response::Logger
32
35
  builder.adapter Faraday.default_adapter
33
- if authenticated?
36
+ if authenticated? && !skip_json
34
37
  builder.use Faraday::Response::ParseJson
35
38
  end
36
39
  end
@@ -61,11 +64,10 @@ module InstapaperFull
61
64
  end
62
65
  end
63
66
 
64
- def call(method, body = nil)
65
- result = connection.post(method) do |r|
66
- if body
67
- r.body = body
68
- end
67
+ def call(method, body = {})
68
+ skip_json = body.delete(:skip_json)
69
+ result = connection({:skip_json => skip_json}).post(method) do |r|
70
+ r.body = body unless body.empty?
69
71
  end
70
72
  return result.body
71
73
  end
@@ -74,43 +76,44 @@ module InstapaperFull
74
76
  call('account/verify_credentials')[0]
75
77
  end
76
78
 
77
- def bookmarks_list(options=nil)
79
+ def bookmarks_list(options = {})
78
80
  call('bookmarks/list', options)[2..-1] # slice off the 'meta' and 'user' from the front of the array
79
81
  end
80
82
 
81
- def bookmarks_update_read_progress(options=nil)
83
+ def bookmarks_update_read_progress(options = {})
82
84
  call('bookmarks/update_read_progress', options)
83
85
  end
84
86
 
85
- def bookmarks_add(options=nil)
87
+ def bookmarks_add(options = {})
86
88
  call('bookmarks/add',options)
87
89
  end
88
90
 
89
- def bookmarks_delete(options=nil)
91
+ def bookmarks_delete(options = {})
90
92
  call('bookmarks/delete', options)
91
93
  end
92
94
 
93
- def bookmarks_star(options=nil)
95
+ def bookmarks_star(options = {})
94
96
  call('bookmarks/star', options)
95
97
  end
96
98
 
97
- def bookmarks_unstar(options=nil)
99
+ def bookmarks_unstar(options = {})
98
100
  call('bookmarks/unstar', options)
99
101
  end
100
102
 
101
- def bookmarks_archive(options=nil)
103
+ def bookmarks_archive(options = {})
102
104
  call('bookmarks/archive', options)
103
105
  end
104
106
 
105
- def bookmarks_unarchive(options=nil)
107
+ def bookmarks_unarchive(options = {})
106
108
  call('bookmarks/unarchive', options)
107
109
  end
108
110
 
109
- def bookmarks_move(options=nil)
111
+ def bookmarks_move(options = {})
110
112
  call('bookmarks/move', options)
111
113
  end
112
114
 
113
- def bookmarks_get_text(options=nil)
115
+ def bookmarks_get_text(options = {})
116
+ options[:skip_json] = true
114
117
  call('bookmarks/get_text', options)
115
118
  end
116
119
 
@@ -118,15 +121,15 @@ module InstapaperFull
118
121
  call('folders/list')
119
122
  end
120
123
 
121
- def folders_add(options=nil)
124
+ def folders_add(options = {})
122
125
  call('folders/add', options)
123
126
  end
124
127
 
125
- def folders_delete(options=nil)
128
+ def folders_delete(options = {})
126
129
  call('folders/delete', options)
127
130
  end
128
131
 
129
- def folders_set_order(options=nil)
132
+ def folders_set_order(options = {})
130
133
  call('folders/set_order', options)
131
134
  end
132
135
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instapaper_full
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-11-30 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
16
- requirement: &70355479122060 !ruby/object:Gem::Requirement
16
+ requirement: &70351849700360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.7.5
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70355479122060
24
+ version_requirements: *70351849700360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: faraday_middleware
27
- requirement: &70355479121500 !ruby/object:Gem::Requirement
27
+ requirement: &70351849712720 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.7.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70355479121500
35
+ version_requirements: *70351849712720
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: simple_oauth
38
- requirement: &70355479121000 !ruby/object:Gem::Requirement
38
+ requirement: &70351853834840 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0.1'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70355479121000
46
+ version_requirements: *70351853834840
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: multi_json
49
- requirement: &70355479120540 !ruby/object:Gem::Requirement
49
+ requirement: &70351853958460 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.4
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70355479120540
57
+ version_requirements: *70351853958460
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yajl-ruby
60
- requirement: &70355479120080 !ruby/object:Gem::Requirement
60
+ requirement: &70351862197880 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.1.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70355479120080
68
+ version_requirements: *70351862197880
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
- requirement: &70355479119700 !ruby/object:Gem::Requirement
71
+ requirement: &70351862292620 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70355479119700
79
+ version_requirements: *70351862292620
80
80
  description: See http://www.instapaper.com/api/full
81
81
  email:
82
82
  - mb@hackdiary.com