instapaper_full 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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