kajabi_theme 0.4.2 → 0.5.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
  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: []