hatena_fotolife 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71097216deb9ca88fbb9c13434b0b86bc57cfca3c79b61dd1d3d21917e204f65
4
- data.tar.gz: b1299b7151f4654401bc9c61ec351563bdb23dc902539e4b1f32bf5e64ef00ad
3
+ metadata.gz: 9dc8501c1b6d97f8057aa97822f195372cd6bb73cbcbc9e70594f3cdb9199b96
4
+ data.tar.gz: 3bc1a4b4fb88346f334ca3dcb7a9315deba966f1ee2a791b5f43508478636027
5
5
  SHA512:
6
- metadata.gz: ab82cbe1d10000b77dbd8e0a95fc3e88af239f17b3fe2c44ed82d4384efa0055358a912756a4f6777837fc89a8aa94ffe925c586b542afd7493e872dbda5d7a6
7
- data.tar.gz: 9fc484cb6c59734cde9b0e29425e00c0185db08b5ed5151c511c424ae1f3212b0671400bb58bea29a87723e576ad38f82b092536e277eb794e126bd1635d47e6
6
+ metadata.gz: d7625609e36d227ddcf21c1ca1221baa240f3614edebcbab7ccb174662cde9d6e714744e4993cc7cbf48be8d48cbe45c4f912aac2aea1fe6ae90bc125aa6a858
7
+ data.tar.gz: e4eb6b35a972b440f7121bd0e093ffee419b2f7f85a1932013425a083adc24932bbc749b3671f0e10ced85e7ed5f6e007e6bab88c899d698d1f5102da3994d20
@@ -22,7 +22,7 @@ GEM
22
22
  pry (0.13.1)
23
23
  coderay (~> 1.1)
24
24
  method_source (~> 1.0)
25
- rake (10.5.0)
25
+ rake (13.0.1)
26
26
  rspec (3.9.0)
27
27
  rspec-core (~> 3.9.0)
28
28
  rspec-expectations (~> 3.9.0)
@@ -45,7 +45,7 @@ DEPENDENCIES
45
45
  bundler (~> 2.0)
46
46
  hatena_fotolife!
47
47
  pry
48
- rake (~> 10.0)
48
+ rake (~> 13.0)
49
49
  rspec (~> 3.0)
50
50
  yard
51
51
 
data/README.md CHANGED
@@ -24,7 +24,7 @@ Or install it yourself as:
24
24
  Hatena Fotolife API requires user authentication with OAuth.
25
25
  So you need to get OAuth 1.0a keys and consumer tokens before using this gem.
26
26
 
27
- ### 1. Get consumer_key & consumer_secret
27
+ ### 1. Get consumer_key & consumer_secret
28
28
  Get consumer_key and consumer_secret from [Hatena Developer Center](https://www.hatena.ne.jp/rlho/config/auth/develop)
29
29
 
30
30
  ### 2. Get access_token & access_token_secret
@@ -41,6 +41,9 @@ consumer_key:
41
41
  consumer_secret: <Hatena application consumer secret>
42
42
  access_token: <Hatena application access token>
43
43
  access_token_secret: <Hatena application access token secret>
44
+ consumer_options:
45
+ timeout: 300
46
+ open_timeout: 60
44
47
  ```
45
48
 
46
49
  2. Run
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency "hatenablog"
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 2.0"
31
- spec.add_development_dependency "rake", "~> 10.0"
31
+ spec.add_development_dependency "rake", "~> 13.0"
32
32
  spec.add_development_dependency "rspec", "~> 3.0"
33
33
  spec.add_development_dependency "pry"
34
34
  spec.add_development_dependency "yard"
@@ -35,7 +35,7 @@ module HatenaFotolife
35
35
  def post_image(title: nil, file_path:, subject: nil)
36
36
  title = File.basename(file_path, '.*') unless title
37
37
  content = Base64.encode64(open(file_path).read)
38
- entry_xml = image_xml(title: title, content: content)
38
+ entry_xml = image_xml(title: title, content: content, subject:subject)
39
39
  response = post(entry_xml)
40
40
  image = Image.load_xml(response.body)
41
41
  puts "Image url: #{image.image_uri}"
@@ -47,11 +47,15 @@ module HatenaFotolife
47
47
  # @param [String] subject folder name
48
48
  # @param [String] content entry content
49
49
  # @return [String] XML string
50
- def image_xml(title:, content:)
50
+ def image_xml(title:, content:, subject:)
51
51
  builder = Nokogiri::XML::Builder.new(encoding: 'utf-8') do |xml|
52
52
  xml.entry('xmlns' => 'http://purl.org/atom/ns') do
53
53
  xml.title title
54
54
  xml.content(content, type: 'image/jpeg', mode: 'base64')
55
+ if subject
56
+ xml.doc.root.add_namespace_definition('dc', 'http://purl.org/dc/elements/1.1/')
57
+ xml['dc'].subject(subject)
58
+ end
55
59
  end
56
60
  end
57
61
  builder.to_xml
@@ -9,7 +9,7 @@ module HatenaFotolife
9
9
  class RequestError < StandardError; end
10
10
 
11
11
  def self.create(config)
12
- consumer = ::OAuth::Consumer.new(config.consumer_key, config.consumer_secret)
12
+ consumer = ::OAuth::Consumer.new(config.consumer_key, config.consumer_secret, config.consumer_options || {})
13
13
  Requester::OAuth.new(::OAuth::AccessToken.new(consumer, config.access_token, config.access_token_secret))
14
14
  end
15
15
 
@@ -1,3 +1,3 @@
1
1
  module HatenaFotolife
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hatena_fotolife
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - riho.takagi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-16 00:00:00.000000000 Z
11
+ date: 2020-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement