tembin 0.0.3 → 0.1.0.alpha1

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: c63669bcb90b9c65de1839b08f22dcbc284e9406
4
- data.tar.gz: 9995739c86196ff369e7ec2e8a166f943cb4f9c9
3
+ metadata.gz: fe6992e60d06771217520c865abb20dae19d6a7a
4
+ data.tar.gz: f5f3ac9a0633d1b864cee1507e831744966a3b01
5
5
  SHA512:
6
- metadata.gz: 38204adaff46a5e91e5d46fd0bd5df20578a63a9df4050231822f6c5758d51d6e23d887d9372f375622e0280cb29d27e06798ebe5f8d5e73a50cd184ea454129
7
- data.tar.gz: f68ef8befa076ea997fd0b2f89adf0b4a4f19da0bec8026c4d66affadc9d6e12f912abf259151f99a6cfa5ff293d5ac7b2a27debdf5299206afa8ccbddce8023
6
+ metadata.gz: 64e694681ae99d324072cc5ed6e696a5f35454a145169d1965afc3debe8a51e64c05bdcf7c5237c2f99d80124bc174f8b2ba4221c8936de7f778a3ab57ebfb24
7
+ data.tar.gz: 7376a6f653902418af28e7cd9509532eb7e43bcbcdd13ef4c980c0b11cdcb968d502bf7bb1b0e3631d5be2b61bdb6b2edda43acaedb8bce9049d68c10c4b287e
data/README.md CHANGED
@@ -7,7 +7,7 @@ Welcome to your new gem! In this directory, you'll find the files you need to be
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```ruby
10
- gem 'tembin', '0.1.0.alpha2'
10
+ gem 'tembin'
11
11
  ```
12
12
 
13
13
  And then execute:
@@ -16,7 +16,7 @@ And then execute:
16
16
 
17
17
  Or install it yourself as:
18
18
 
19
- $ gem install tembin --pre
19
+ $ gem install tembin
20
20
 
21
21
  ## Usage
22
22
 
@@ -25,6 +25,7 @@ Or install it yourself as:
25
25
  ```
26
26
  host: 'https://your.redash.host'
27
27
  api_key: <%= ENV['REDASH_API_KEY'] %>
28
+ authorized_user_email: 'your-account@email.com'
28
29
  ```
29
30
 
30
31
  ### Export
@@ -12,7 +12,7 @@ class Tembin::Applyer
12
12
  @out = out
13
13
  end
14
14
 
15
- def run
15
+ def run(dry_run: true)
16
16
  remote_queries = Tembin::Redash::Query.created_by_me
17
17
  remote_queries.each do |remote_query|
18
18
  @out.puts(h.color("#{remote_query.name}", :green))
@@ -62,7 +62,7 @@ class Tembin::Applyer
62
62
  if @dry_run
63
63
  @out.puts(Diffy::Diff.new(remote.sql, local.attributes[:sql]).to_s(:color))
64
64
  else
65
- remote.update!(local.attributes[:sql])
65
+ remote.update!(element.attributes[:sql])
66
66
  @out.puts(h.color(" --> updated.", :green))
67
67
  end
68
68
  else
data/lib/tembin/cli.rb CHANGED
@@ -53,5 +53,9 @@ class Tembin::CLI < Thor
53
53
  if Tembin::Redash.config['api_key'].nil?
54
54
  raise ArgumentError, "Re:dash api key is empty. Please set Tembin::Redash.config['api_key']"
55
55
  end
56
+
57
+ if Tembin::Redash.config['authorized_user_email'].nil?
58
+ raise ArgumentError, "Re:dash user login email is empty. Please set Tembin::Redash.config['authorized_user_email']"
59
+ end
56
60
  end
57
61
  end
@@ -5,11 +5,12 @@ module Tembin::Redash
5
5
  class RequestNotSucceedError < StandardError; end
6
6
 
7
7
  def self.current
8
- Thread.current[:__tembin__redash_client__] ||= new(Tembin::Redash.config['api_key'])
8
+ Thread.current[:__tembin__redash_client__] ||= new(Tembin::Redash.config['api_key'], authorized_user_email: Tembin::Redash.config['authorized_user_email'])
9
9
  end
10
10
 
11
- def initialize(api_key)
11
+ def initialize(api_key, authorized_user_email: nil)
12
12
  @api_key = api_key
13
+ @authorized_user_email = authorized_user_email
13
14
  end
14
15
 
15
16
  def get(path, params: {})
@@ -3,40 +3,15 @@ require 'diffy'
3
3
 
4
4
  module Tembin::Redash
5
5
  class Query
6
- class RequestNotSucceedError < StandardError; end
7
-
8
6
  def self.all
9
7
  response = Tembin::Redash::Client.current.get('/api/queries')
10
8
  raise RequestNotSucceedError, response.body if !response.success?
11
- JSON.parse(response.body)['results'].map { |j| self.new(j) }
12
- end
13
-
14
- PAGE_OPTION = {
15
- page: 1,
16
- page_size: 5,
17
- }.freeze
18
- def self.created_by_me(fetch_all_page: true)
19
- if !fetch_all_page
20
- return request_my_query(PAGE_OPTION)['results'].map { |j| self.new(j) }
21
- end
22
- responses = []
23
- response = request_my_query(PAGE_OPTION)
24
- responses << response
25
- while response['count'] > (response['page'] * response['page_size'])
26
- response = request_my_query(page: response['page'] + 1, page_size: response['page_size'])
27
- responses << response
28
- end
29
- responses.flat_map { |r| r['results'].map { |j| new(j) } }
9
+ JSON.parse(response.body).map { |j| self.new(j) }
30
10
  end
31
11
 
32
- def self.request_my_query(page_option = {})
33
- response = Tembin::Redash::Client.current.get('/api/queries/my', params: page_option)
34
- if !response.success?
35
- raise RequestNotSucceedError, response.body
36
- end
37
- JSON.parse(response.body)
12
+ def self.created_by_me
13
+ all.select { |q| q.author_email == Tembin::Redash.config['authorized_user_email'] }
38
14
  end
39
- private_class_method :request_my_query
40
15
 
41
16
  INITIAL_DATA_SOURCE_ID = 1
42
17
  def self.create(name, sql)
data/lib/tembin/redash.rb CHANGED
@@ -7,6 +7,7 @@ module Tembin::Redash
7
7
  @config ||= {
8
8
  api_key: nil,
9
9
  host: nil,
10
+ authorized_user_email: nil,
10
11
  }
11
12
  end
12
13
  end
@@ -1,3 +1,3 @@
1
1
  module Tembin
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.0.alpha1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tembin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takatoshi Maeda
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-19 00:00:00.000000000 Z
11
+ date: 2016-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -168,9 +168,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  required_rubygems_version: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - ">"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 1.3.1
174
174
  requirements: []
175
175
  rubyforge_project:
176
176
  rubygems_version: 2.4.5