zendesk_apps_tools 1.19.0 → 1.20.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: 218892c47df72fde58c138380d018a29ba6163c2
4
- data.tar.gz: aafaf350cbd99f8c150a57a4192c3acc34b0d1ba
3
+ metadata.gz: 7f59a2d6a2b6db4e5c6b32bd5a2e88ac2f258d57
4
+ data.tar.gz: 81d6ac4cbb8393781e046b7f20fc97f43d51a338
5
5
  SHA512:
6
- metadata.gz: dffdcadb0e6a137b34f3635695eb4cf9717ecac1f2ec655f8c1d1fe92eb1d286f6c7cd74cecec14bd254a0c7e7012c3bf6ece4195b6b19a7b785c2cf5ea701e8
7
- data.tar.gz: 426348f984de10bfcf290073a1b9727cb3bfd5b62842fe66116b6a7f3251caf828655f3b53bfbec4f360f2e1dfc95f78f4f9363ad76e9ba21f6d49ea9bd8f841
6
+ metadata.gz: 74f1ff6f06fc42f4ecf02a89b0a2497aa7b6ac637eee1164f0513b1ed3c0549972a0ae5c3d5014dbe94321d857a141c99af062f2a0f7763e2a33ddbd7ecbf3d5
7
+ data.tar.gz: 202b2e65c2102498834ca34b7c15f02d14460b5dfebce76c1441d189c01c70980de6168734f5ff3391b3574cbcfc8104616ae5bd2128d43f2dbde18f8fbfab47
@@ -88,17 +88,23 @@ module ZendeskAppsTools
88
88
  end
89
89
 
90
90
  DEFAULT_SERVER_PATH = "./"
91
+ DEFAULT_CONFIG_PATH = "./settings.yml"
91
92
  DEFAULT_SERVER_PORT = 4567
92
93
 
93
94
  desc "server", "Run a http server to serve the local app"
94
95
  method_option :path, :default => DEFAULT_SERVER_PATH, :required => false, :aliases => "-p"
96
+ method_option :config, :default => DEFAULT_CONFIG_PATH, :required => false, :aliases => "-c"
95
97
  method_option :port, :default => DEFAULT_SERVER_PORT, :required => false
96
98
  def server
97
99
  setup_path(options[:path])
98
100
  manifest = app_package.manifest_json
99
101
 
100
102
  settings_helper = ZendeskAppsTools::Settings.new
101
- settings = settings_helper.get_settings_from(self, manifest[:parameters])
103
+
104
+ settings = settings_helper.get_settings_yaml options[:config], manifest[:parameters]
105
+ unless settings
106
+ settings = settings_helper.get_settings_from self, manifest[:parameters]
107
+ end
102
108
 
103
109
  require 'zendesk_apps_tools/server'
104
110
  ZendeskAppsTools::Server.tap do |server|
@@ -1,4 +1,5 @@
1
1
  require 'zendesk_apps_tools/common'
2
+ require 'yaml'
2
3
 
3
4
  module ZendeskAppsTools
4
5
  class Settings
@@ -25,6 +26,43 @@ module ZendeskAppsTools
25
26
  end
26
27
  end
27
28
 
29
+ def get_settings_yaml(filepath, parameters)
30
+ return {} if parameters.nil?
31
+ return nil unless File.exists? filepath
32
+
33
+ begin
34
+ settings_file = File.read(filepath)
35
+ settings_yml = YAML::load(settings_file)
36
+ settings_yml.each do |index, setting|
37
+ if (setting.is_a?(Hash) || setting.is_a?(Array))
38
+ settings_yml[index] = JSON.dump(setting)
39
+ end
40
+ end
41
+ rescue => err
42
+ return nil
43
+ end
44
+
45
+ parameters.inject({}) do |settings, param|
46
+ input = settings_yml[param[:name]]
47
+
48
+ if !input && param[:default]
49
+ input = param[:default]
50
+ end
51
+
52
+ if !input && param[:required]
53
+ puts "'#{param[:name]}' is required but not specified in the yaml file.\n"
54
+ return nil
55
+ end
56
+
57
+ if param[:type] == 'checkbox'
58
+ input = convert_to_boolean_for_checkbox(input)
59
+ end
60
+
61
+ settings[param[:name]] = input if input != ''
62
+ settings
63
+ end
64
+ end
65
+
28
66
  private
29
67
 
30
68
  def convert_to_boolean_for_checkbox(input)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_apps_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James A. Rosen
@@ -11,146 +11,146 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-06-30 00:00:00.000000000 Z
14
+ date: 2014-08-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: thor
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - ~>
20
+ - - "~>"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 0.18.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
29
  version: 0.18.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rubyzip
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ~>
34
+ - - "~>"
35
35
  - !ruby/object:Gem::Version
36
36
  version: 0.9.1
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ~>
41
+ - - "~>"
42
42
  - !ruby/object:Gem::Version
43
43
  version: 0.9.1
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: sinatra
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - ~>
48
+ - - "~>"
49
49
  - !ruby/object:Gem::Version
50
50
  version: 1.3.4
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
- - - ~>
55
+ - - "~>"
56
56
  - !ruby/object:Gem::Version
57
57
  version: 1.3.4
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: faraday
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
- - - ~>
62
+ - - "~>"
63
63
  - !ruby/object:Gem::Version
64
64
  version: 0.8.7
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - ~>
69
+ - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: 0.8.7
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: zendesk_apps_support
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - ~>
76
+ - - "~>"
77
77
  - !ruby/object:Gem::Version
78
78
  version: 1.15.0
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - ~>
83
+ - - "~>"
84
84
  - !ruby/object:Gem::Version
85
85
  version: 1.15.0
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: cucumber
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - '>='
90
+ - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  type: :development
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - '>='
97
+ - - ">="
98
98
  - !ruby/object:Gem::Version
99
99
  version: '0'
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: aruba
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - '>='
104
+ - - ">="
105
105
  - !ruby/object:Gem::Version
106
106
  version: '0'
107
107
  type: :development
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - '>='
111
+ - - ">="
112
112
  - !ruby/object:Gem::Version
113
113
  version: '0'
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rspec
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - '>='
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - '>='
125
+ - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: bump
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - '>='
132
+ - - ">="
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  type: :development
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - '>='
139
+ - - ">="
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: webmock
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - '>='
146
+ - - ">="
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
149
  type: :development
150
150
  prerelease: false
151
151
  version_requirements: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - '>='
153
+ - - ">="
154
154
  - !ruby/object:Gem::Version
155
155
  version: '0'
156
156
  description: Tools to help you develop Zendesk Apps.
@@ -205,12 +205,12 @@ require_paths:
205
205
  - lib
206
206
  required_ruby_version: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - '>='
208
+ - - ">="
209
209
  - !ruby/object:Gem::Version
210
210
  version: '0'
211
211
  required_rubygems_version: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - '>='
213
+ - - ">="
214
214
  - !ruby/object:Gem::Version
215
215
  version: 1.3.6
216
216
  requirements: []