kajabi_theme 0.4.2 → 0.5.0

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: 65c092349726de16d31fb998473d5de9741c01a091d9c6bc45ae490d717cc071
4
- data.tar.gz: 24f77e23f07c1e5992ea1364c5539f702968f400482dee3b3e29489712546509
3
+ metadata.gz: a96c3071d92de9a6bcabff7851e4e10d3786b6e54c6212390a3e5c606c76c2a7
4
+ data.tar.gz: 4fc0ce5480f59157cabe1f75f1f9323b8a467e6dff3cfeddde7a97db13c89203
5
5
  SHA512:
6
- metadata.gz: 2af450f8b954e6472ff376be2f00da4748cc1155a23dfbaf6b868ffe6aa509dcfe84dcb6ff1fd74a9deb4c48235b6200445525a5cb9390337d74890adf5a3ed8
7
- data.tar.gz: 451461e62d8a04dee4e7ab3f00108279b68aefbf182705d4ee2890fa08b621d6ceb34e9b40e3615c9db8c59a92f6481abed4f388d23011741a0c90a306db6671
6
+ metadata.gz: 0105b79a4be6393c42b703fa53516a734f8f5ed6ac4e14d838c4923b00e1cb87f207be0ed38236f45dbfdb038128ae68c568cddc8ca65881868b0abc4836ea7b
7
+ data.tar.gz: 7421d37fde804610d2442f393ce48c9ac3c32b5614d501a1067e798579a671765ed1a4119399210b641f2b37cc8003d6a511f808ad396d7e1949751baedf7836
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
- --format documentation
1
+ --format progress
2
2
  --color
@@ -21,8 +21,10 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "thor"
22
22
  spec.add_dependency "typhoeus"
23
23
  spec.add_dependency "filewatcher", "~> 0.5.4"
24
+ spec.add_dependency "mime-types", "~> 3.1"
24
25
 
25
26
  spec.add_development_dependency "bundler", "~> 1.10"
26
27
  spec.add_development_dependency "rake", "~> 10.0"
27
28
  spec.add_development_dependency "rspec"
29
+ spec.add_development_dependency "webmock"
28
30
  end
@@ -47,11 +47,23 @@ module KajabiTheme
47
47
  desc "configure", "Configure the current directory for syncing"
48
48
  def configure
49
49
  theme_id = ask("Kajabi Theme ID:")
50
- api_key = ask("API Key (#{ACCOUNT_SETTINGS_URL}):")
51
- api_secret = ask("API Secret (#{ACCOUNT_SETTINGS_URL}):")
50
+ api_key = ask("API Key (#{ACCOUNT_SETTINGS_URL}):")
51
+ api_secret = ask("API Secret (#{ACCOUNT_SETTINGS_URL}):")
52
+ cainfo = ask("CA Cert File (leave blank if you're unsure):")
53
+
54
+ if !cainfo.empty? && !File.exist?(File.expand_path(cainfo))
55
+ say "Unable to find '#{cainfo}' (skipping)", :yellow
56
+ cainfo = ""
57
+ end
52
58
 
53
59
  create_file "config.yml" do
54
- { theme_id: theme_id, api_key: api_key, api_secret: api_secret }.to_yaml
60
+ {
61
+ theme_id: theme_id,
62
+ api_key: api_key,
63
+ api_secret: api_secret,
64
+ cainfo: cainfo,
65
+ ssl_verifypeer: true
66
+ }.to_yaml
55
67
  end
56
68
  end
57
69
 
@@ -93,6 +105,24 @@ module KajabiTheme
93
105
  config[:api_secret]
94
106
  end
95
107
 
108
+ def ssl_verifypeer
109
+ config.fetch(:ssl_verifypeer, true)
110
+ end
111
+
112
+ def cainfo
113
+ config.fetch(:cainfo, "")
114
+ end
115
+
116
+ def ssl_options
117
+ { ssl_verifypeer: ssl_verifypeer }.tap do |options|
118
+ options[:cainfo] = File.expand_path(cainfo) unless cainfo.empty?
119
+ end
120
+ end
121
+
122
+ def proxy
123
+ config[:proxy]
124
+ end
125
+
96
126
  def hydra
97
127
  @hydra ||= Typhoeus::Hydra.new(max_concurrency: concurrency)
98
128
  end
@@ -156,26 +186,38 @@ module KajabiTheme
156
186
  end
157
187
 
158
188
  def send_editable_file(file)
159
- request = Typhoeus::Request.new(
160
- assets_url,
189
+ options = {
190
+ proxy: proxy,
161
191
  userpwd: http_credentials,
162
192
  method: :put,
163
193
  headers: { "content-type" => "application/x-www-form-urlencoded" },
164
194
  body: { asset: { key: file, content: File.read(file) }}
195
+ }.merge(ssl_options)
196
+
197
+ request = Typhoeus::Request.new(
198
+ assets_url,
199
+ options
165
200
  )
201
+
166
202
  handle_request request do |response|
167
203
  say "Uploaded: #{file}", :green
168
204
  end
205
+
169
206
  hydra.queue(request)
170
207
  request
171
208
  end
172
209
 
173
210
  def send_asset_file(file)
174
211
  body = presigned_post["fields"]
175
- request = Typhoeus::Request.new(
176
- presigned_post["url"],
212
+ options = {
213
+ proxy: proxy,
177
214
  method: :post,
178
215
  body: body.merge("file" => File.open(file, "r"))
216
+ }.merge(ssl_options)
217
+
218
+ request = Typhoeus::Request.new(
219
+ presigned_post["url"],
220
+ options
179
221
  )
180
222
 
181
223
  handle_request request do |response|
@@ -1,3 +1,5 @@
1
+ require "mime/types"
2
+
1
3
  module KajabiTheme
2
4
  class Util
3
5
  def self.editable?(name)
@@ -1,3 +1,3 @@
1
1
  module KajabiTheme
2
- VERSION = "0.4.2"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kajabi_theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Saenz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-20 00:00:00.000000000 Z
11
+ date: 2020-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.5.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: mime-types
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.1'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.1'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +108,20 @@ dependencies:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: webmock
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
97
125
  description: Command line tool to help with developing Kajabi themes. Provides some
98
126
  commands detect changes of local theme files and sync them with a theme on Kajabi
99
127
  email:
@@ -120,7 +148,7 @@ files:
120
148
  homepage: http://www.kajabi.co
121
149
  licenses: []
122
150
  metadata: {}
123
- post_install_message:
151
+ post_install_message:
124
152
  rdoc_options: []
125
153
  require_paths:
126
154
  - lib
@@ -135,8 +163,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
163
  - !ruby/object:Gem::Version
136
164
  version: '0'
137
165
  requirements: []
138
- rubygems_version: 3.1.2
139
- signing_key:
166
+ rubygems_version: 3.0.3
167
+ signing_key:
140
168
  specification_version: 4
141
169
  summary: Command line tool for developing themes
142
170
  test_files: []