owlproxy 0.1.1 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d72d453e9510e0b928bf3d4246377157273e1a9
4
- data.tar.gz: e8b8d356228d84869472af2ca911e3d3b02ab8b2
3
+ metadata.gz: ef24fe2b28ec93e9bca389a06e307878397159ea
4
+ data.tar.gz: 5a730f5a5105670ba772870092999a43ffc47b1f
5
5
  SHA512:
6
- metadata.gz: c9f5dc16bc15e70d24f17d20f858a75d9a302d90e17f267bf8f57e3adfed29b0bf4a4565839cb48827662a591b5e97f18e2638611b167bdeedceb96c4e69eb7e
7
- data.tar.gz: cda00f88aa4f7edfe9cb2feb833fba32a027d1c9e60e38686bcd021cab4a1b56b3903b6274e191df797963f3a6144bc89303b4280b7cd58986b10ff2967b43e2
6
+ metadata.gz: 993d56b65fd15ff89c8d83ba51115485db21d77a33f586345626387c124794c67eabe07fc39e9b485a0b47379986a7832ca68e5ecd635f846efaeed755fe60d1
7
+ data.tar.gz: a924d25185e4a6a7e76c0c0d5282183d80757482822614587ee7df15b653a293e3bf83ea0d8312a55458e9505b8ec8d85e34bb7b3557171703333a7125254beb
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Owlproxy
1
+ # OwlProxy
2
2
 
3
3
  ## Installation
4
4
 
@@ -34,7 +34,7 @@ $ owlproxy
34
34
 
35
35
  ### Settings
36
36
 
37
- Once you started the proxy server, `$HOME/.owlproxy.yml` is generated automatically. After edit the config file, you must restart the proxy server.
37
+ Once you started the server, `$HOME/.owlproxy.yml` is generated automatically. After edit the config file, you must restart the server.
38
38
 
39
39
  ## Contributing
40
40
 
@@ -4,3 +4,4 @@ require "owlproxy/uploader"
4
4
  require "owlproxy/server"
5
5
 
6
6
  require "owlproxy/services/gyazo"
7
+ require "owlproxy/services/twitter"
@@ -1,3 +1,4 @@
1
+ port: 9000
1
2
  default_option: "gyazo"
2
3
  daemonize: true
3
4
  services:
@@ -6,4 +7,15 @@ services:
6
7
  api_endpoint: "https://upload.gyazo.com/api/upload"
7
8
  access_token: "ACCESS_TOKEN"
8
9
  screen_name:
10
+ <<: *defaults
9
11
  access_token: "OTHER_ACCESS_TOKEN"
12
+ twitter:
13
+ default: &defaults
14
+ consumer_key: "CONSUMER_KEY"
15
+ consumer_secret: "CONSUMER_SECRET"
16
+ access_token: "ACCESS_TOKEN"
17
+ access_token_secret: "ACCESS_TOKEN_SECRET"
18
+ screen_name:
19
+ <<: *defaults
20
+ access_token: "OTHER_ACCESS_TOKEN"
21
+ access_token_secret: "OTHER_ACCESS_TOKEN_SECRET"
@@ -2,6 +2,8 @@ require "sinatra/base"
2
2
 
3
3
  module OwlProxy
4
4
  class Server < Sinatra::Base
5
+ set :port, Settings.port
6
+
5
7
  post '/upload' do
6
8
  image_url = OwlProxy::Uploader.upload(
7
9
  username: params[:username],
@@ -0,0 +1,25 @@
1
+ require 'twitter'
2
+
3
+ module OwlProxy
4
+ module Service
5
+ class Twitter
6
+ def upload(config: nil, option: nil, image: nil, message: nil)
7
+ @client = ::Twitter::REST::Client.new do |cfg|
8
+ cfg.consumer_key = config['consumer_key']
9
+ cfg.consumer_secret = config['consumer_secret']
10
+ cfg.access_token = config['access_token']
11
+ cfg.access_token_secret = config['access_token_secret']
12
+ end
13
+
14
+ upload_result = @client.upload(image)
15
+ tweet_result = @client.update(message, {
16
+ media_ids: upload_result.to_s
17
+ })
18
+
19
+ tweet_result.uri
20
+ end
21
+ end
22
+ end
23
+ end
24
+
25
+ OwlProxy::Uploader.register :twitter, OwlProxy::Service::Twitter
@@ -1,3 +1,3 @@
1
1
  module Owlproxy
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -26,4 +26,5 @@ Gem::Specification.new do |spec|
26
26
  spec.add_dependency "sinatra", "~> 1.4"
27
27
  spec.add_dependency "settingslogic", "~> 2.0"
28
28
  spec.add_dependency "rest-client", "~> 1.8"
29
+ spec.add_dependency "twitter", "~> 5.14"
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: owlproxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masayoshi Wada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-25 00:00:00.000000000 Z
11
+ date: 2015-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.8'
97
+ - !ruby/object:Gem::Dependency
98
+ name: twitter
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '5.14'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '5.14'
97
111
  description: image upload proxy for YoruFukurou. since non tested, it might have some
98
112
  problems.
99
113
  email:
@@ -117,6 +131,7 @@ files:
117
131
  - lib/owlproxy/config/owlproxy.yml.example
118
132
  - lib/owlproxy/server.rb
119
133
  - lib/owlproxy/services/gyazo.rb
134
+ - lib/owlproxy/services/twitter.rb
120
135
  - lib/owlproxy/settings.rb
121
136
  - lib/owlproxy/uploader.rb
122
137
  - lib/owlproxy/version.rb