hatenablog 0.5.1 → 0.5.2
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.
- checksums.yaml +4 -4
- data/README.md +46 -39
- data/exe/get_access_token +3 -1
- data/lib/hatenablog/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22d695f3608ea9a0b666d8fed252685d3b7c19f1
|
4
|
+
data.tar.gz: e1ae79a67ac18f4f43476ee402a83f02bde88940
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7daba5de0a4bb7d4629164b6339b245ed31627ff68010176a95834f24667e25c95535584a65e55abe96b1a2ccbd5c03e060c631a37e6a8b6de83e6d94df8826
|
7
|
+
data.tar.gz: a0eaad9e820e84388f053ef1f73b9734bc250fa693f3c29239e06d8e317d8552ce308f8624e450be8dc3901cdd87b8d6f0b007c1fc90e5fed4b15a46dec88bf6
|
data/README.md
CHANGED
@@ -42,10 +42,10 @@ Access [Hatena application registoration page](http://developer.hatena.ne.jp/) a
|
|
42
42
|
Execute this command:
|
43
43
|
|
44
44
|
$ get_access_token <your consumer key> <your consumer secret>
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
45
|
+
Visit this website and get the PIN: https://www.hatena.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXX
|
46
|
+
Enter the PIN: <your PIN> [Enter]
|
47
|
+
Access token: <your access token>
|
48
|
+
Access token secret: <your access token secret>
|
49
49
|
|
50
50
|
#### 3. [Optional] Set up the YAML configuration file
|
51
51
|
|
@@ -99,15 +99,19 @@ Hatenablog::Client.create do |blog|
|
|
99
99
|
end
|
100
100
|
|
101
101
|
# Post new entry
|
102
|
-
posted_entry = blog.post_entry(
|
103
|
-
|
104
|
-
|
102
|
+
posted_entry = blog.post_entry(
|
103
|
+
'Entry Title',
|
104
|
+
'This is entry contents', # markdown form
|
105
|
+
['Test', 'Programming'] # categories
|
106
|
+
)
|
105
107
|
|
106
108
|
# Update entry
|
107
|
-
updated_entry = blog.update_entry(
|
108
|
-
|
109
|
-
|
110
|
-
|
109
|
+
updated_entry = blog.update_entry(
|
110
|
+
posted_entry.id,
|
111
|
+
'Revised Entry Title',
|
112
|
+
posted_entry.content,
|
113
|
+
posted_entry.categories
|
114
|
+
)
|
111
115
|
|
112
116
|
# Delete entry
|
113
117
|
blog.delete_entry(updated_entry.id)
|
@@ -148,8 +152,8 @@ end
|
|
148
152
|
### Blog
|
149
153
|
|
150
154
|
```ruby
|
151
|
-
client.title
|
152
|
-
client.author_name
|
155
|
+
client.title # Get the blog title
|
156
|
+
client.author_name # Get the blog author name
|
153
157
|
```
|
154
158
|
|
155
159
|
### Feeds
|
@@ -157,16 +161,16 @@ client.author_name # Get the blog author name
|
|
157
161
|
```ruby
|
158
162
|
feed = client.next_feed # Get the first feed when no argument is passed
|
159
163
|
feed.uri
|
160
|
-
feed.next_uri
|
164
|
+
feed.next_uri # The next feed URI
|
161
165
|
feed.title
|
162
166
|
feed.author_name
|
163
|
-
feed.update
|
167
|
+
feed.update # Updated datetime
|
164
168
|
|
165
|
-
feed.entries
|
169
|
+
feed.entries # entries in the feed
|
166
170
|
feed.each_entry do |entry|
|
167
171
|
# ...
|
168
172
|
end
|
169
|
-
feed.has_next?
|
173
|
+
feed.has_next? # true if the next page exists
|
170
174
|
next_feed = client.next_feed(feed)
|
171
175
|
```
|
172
176
|
|
@@ -174,38 +178,41 @@ next_feed = client.next_feed(feed)
|
|
174
178
|
|
175
179
|
```ruby
|
176
180
|
client.get_entry('0000000000000000000') # Get the entry specifed by its ID
|
177
|
-
client.entries
|
178
|
-
client.entries(1)
|
179
|
-
client.all_entries
|
180
|
-
|
181
|
-
entry = client.post_entry(
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
181
|
+
client.entries # Get blog entries in the first page
|
182
|
+
client.entries(1) # Get blog entries in the first and the second page
|
183
|
+
client.all_entries # Get all entries in the blog
|
184
|
+
|
185
|
+
entry = client.post_entry(
|
186
|
+
'Example Title', # title
|
187
|
+
'This is the **example** entry.', # content
|
188
|
+
['Ruby', 'Rails'], # categories
|
189
|
+
'yes' # draft
|
190
|
+
)
|
186
191
|
entry.id
|
187
192
|
entry.uri
|
188
193
|
entry.edit_uri
|
189
194
|
entry.author_name
|
190
|
-
entry.title
|
191
|
-
entry.content
|
192
|
-
entry.draft
|
193
|
-
entry.draft?
|
194
|
-
entry.categories
|
195
|
-
entry.updated
|
196
|
-
|
197
|
-
client.update_entry(
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
195
|
+
entry.title #=> 'Example Title'
|
196
|
+
entry.content #=> 'This is the **example** entry.'
|
197
|
+
entry.draft #=> 'yes'
|
198
|
+
entry.draft? #=> true
|
199
|
+
entry.categories #=> ['Ruby', 'Rails']
|
200
|
+
entry.updated # Updated datetime
|
201
|
+
|
202
|
+
client.update_entry(
|
203
|
+
entry.id,
|
204
|
+
entry.title,
|
205
|
+
'This is the **modified** example entry.',
|
206
|
+
entry.categories,
|
207
|
+
'no'
|
208
|
+
)
|
202
209
|
client.delete_entry(entry.id)
|
203
210
|
```
|
204
211
|
|
205
212
|
### Categories
|
206
213
|
|
207
214
|
```ruby
|
208
|
-
categories = client.categories
|
215
|
+
categories = client.categories # Get categories registered in the blog
|
209
216
|
categories.each do |cat|
|
210
217
|
puts cat
|
211
218
|
end
|
data/exe/get_access_token
CHANGED
@@ -10,6 +10,7 @@ class AccessTokenGetter
|
|
10
10
|
SITE_URI = 'https://www.hatena.com'
|
11
11
|
REQUEST_TOKEN_URI = '/oauth/initiate?scope=read_public%2Cread_private%2Cwrite_public%2Cwrite_private'
|
12
12
|
ACCESS_TOKEN_URI = '/oauth/token'
|
13
|
+
AUTHORIZE_URI = 'https://www.hatena.ne.jp/oauth/authorize'
|
13
14
|
|
14
15
|
def initialize(consumer_key, consumer_secret)
|
15
16
|
@consumer_key = consumer_key
|
@@ -19,7 +20,8 @@ class AccessTokenGetter
|
|
19
20
|
oauth_callback: 'oob',
|
20
21
|
site: SITE_URI,
|
21
22
|
request_token_url: REQUEST_TOKEN_URI,
|
22
|
-
access_token_url: ACCESS_TOKEN_URI
|
23
|
+
access_token_url: ACCESS_TOKEN_URI,
|
24
|
+
authorize_url: AUTHORIZE_URI)
|
23
25
|
end
|
24
26
|
|
25
27
|
def get_request_token
|
data/lib/hatenablog/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hatenablog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kohei Yamamoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
168
|
version: '0'
|
169
169
|
requirements: []
|
170
170
|
rubyforge_project:
|
171
|
-
rubygems_version: 2.6.
|
171
|
+
rubygems_version: 2.6.11
|
172
172
|
signing_key:
|
173
173
|
specification_version: 4
|
174
174
|
summary: Hatenablog AtomPub API library
|