krl 0.1.60 → 0.1.62
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.
- data/bin/krl-connect +5 -0
- data/lib/check.rb +2 -1
- data/lib/common.rb +3 -1
- data/lib/generate.rb +47 -11
- data/lib/help.rb +1 -0
- data/lib/user.rb +2 -1
- metadata +21 -7
data/bin/krl-connect
CHANGED
@@ -4,6 +4,7 @@ require "rubygems"
|
|
4
4
|
require "sinatra/base"
|
5
5
|
require "yaml"
|
6
6
|
require "kynetx_am_api"
|
7
|
+
require "launchy"
|
7
8
|
|
8
9
|
#TODO: add launchy gem to make the browser automatically popup.
|
9
10
|
#TODO: make it so you can connect without a web page
|
@@ -58,4 +59,8 @@ class KRLConnect < Sinatra::Base
|
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
62
|
+
Thread.new do
|
63
|
+
sleep 3
|
64
|
+
Launchy::Browser.run("http://localhost:3009")
|
65
|
+
end
|
61
66
|
KRLConnect.run!
|
data/lib/check.rb
CHANGED
@@ -15,10 +15,11 @@ module KRL_CMD
|
|
15
15
|
validateresponse = Net::HTTP.post_form(URI.parse(apiurl), apiargs).body.to_s
|
16
16
|
jdata = JSON.parse(validateresponse, { :max_nesting => false })
|
17
17
|
if jdata["error"]
|
18
|
+
puts "Errors:"
|
18
19
|
puts jdata["error"]
|
19
20
|
else
|
20
21
|
puts "OK"
|
21
22
|
end
|
22
23
|
end
|
23
24
|
end
|
24
|
-
end
|
25
|
+
end
|
data/lib/common.rb
CHANGED
@@ -24,7 +24,9 @@ module KRL_COMMON
|
|
24
24
|
begin
|
25
25
|
root_dir = Dir.pwd
|
26
26
|
raise "Please re-checkout your app or make sure you are in the root directory of an app." unless File.exists?(File.join(root_dir, ".app"))
|
27
|
-
|
27
|
+
config_file = File.join(root_dir, '.app')
|
28
|
+
raise "Unable to get the app information. You need to recheckout your app." unless File.exists?(config_file)
|
29
|
+
config = YAML::load_file(config_file)
|
28
30
|
user = KRL_CMD::User.new
|
29
31
|
app = user.find_application(:application_id => config[:ruleset_id], :version => version)
|
30
32
|
return app
|
data/lib/generate.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'base64'
|
3
|
+
require 'net/http'
|
4
|
+
require 'uri'
|
5
|
+
require 'json'
|
6
|
+
require 'launchy'
|
7
|
+
|
3
8
|
module KRL_CMD
|
4
9
|
class Generate
|
5
10
|
def self.go(args)
|
@@ -20,20 +25,37 @@ module KRL_CMD
|
|
20
25
|
|
21
26
|
end
|
22
27
|
|
23
|
-
def self.gen_extension(type, args)
|
28
|
+
def self.gen_extension(type, args, env='prod')
|
24
29
|
puts "Generating Extension (#{type.to_s}) #{args.join(', ')}"
|
25
|
-
ext = app.extension(type, args[0] || "", args[1] || "", args[2] || "" )
|
26
|
-
write_file(ext, "prod")
|
30
|
+
# ext = app.extension(type, args[0] || "", args[1] || "", args[2] || "" )
|
31
|
+
# write_file(ext, "prod")
|
32
|
+
|
33
|
+
opts = {}
|
34
|
+
opts[:extname] = args[0] if args[0]
|
35
|
+
opts[:extauthor] = args[1] if args[1]
|
36
|
+
opts[:extdesc] = args[2] if args[2]
|
37
|
+
opts[:env] = env
|
38
|
+
opts[:format] = 'url'
|
39
|
+
|
40
|
+
ext = app.endpoint(type, opts)
|
41
|
+
write_file(ext, env)
|
27
42
|
end
|
28
43
|
|
29
44
|
def self.gen_bookmarklet(args, env="prod")
|
30
45
|
puts "Generating Bookmarklet (#{env})"
|
31
46
|
bm = ""
|
32
|
-
|
33
|
-
|
47
|
+
opts = {}
|
48
|
+
opts[:env] = env
|
49
|
+
opts[:runtime] = args.to_s unless args.to_s.empty?
|
50
|
+
|
51
|
+
endpoint = app.endpoint(:bookmarklet, opts)
|
52
|
+
|
53
|
+
if endpoint["errors"].empty?
|
54
|
+
bm = endpoint["data"]
|
34
55
|
else
|
35
|
-
|
56
|
+
raise "Invalid bookmark generated. \n#{endpoint.errors.join("\n")}"
|
36
57
|
end
|
58
|
+
|
37
59
|
bm_file = File.join(get_endpoint_dir(env), env + "_bookmarklet.html")
|
38
60
|
File.open(bm_file, 'w') do |f|
|
39
61
|
f.print("<textarea rows='5' cols='100'>#{bm}</textarea><br><br>")
|
@@ -44,12 +66,19 @@ module KRL_CMD
|
|
44
66
|
puts bm
|
45
67
|
puts
|
46
68
|
puts "Saved bookmarklet to #{bm_file}."
|
69
|
+
Launchy::Browser.run('file://' + bm_file)
|
47
70
|
end
|
48
71
|
|
49
72
|
def self.gen_infocard(args, env="prod")
|
50
73
|
raise "You must specify a name for the card" if args.empty?
|
51
74
|
puts "Generating Infocard (#{env})"
|
52
|
-
|
75
|
+
opts = {}
|
76
|
+
opts[:extname] = args[0] if args[0]
|
77
|
+
opts[:datasets] = args[1] if args[1]
|
78
|
+
opts[:env] = env
|
79
|
+
opts[:format] = 'url'
|
80
|
+
|
81
|
+
icard = app.endpoint(:info_card, opts)
|
53
82
|
write_file(icard, env)
|
54
83
|
end
|
55
84
|
|
@@ -71,13 +100,20 @@ module KRL_CMD
|
|
71
100
|
if ext["errors"].empty?
|
72
101
|
endpoint_dir = get_endpoint_dir(env)
|
73
102
|
ext_file_name = File.join(endpoint_dir, ext["file_name"])
|
74
|
-
|
75
|
-
|
76
|
-
|
103
|
+
url = URI.parse(ext["data"])
|
104
|
+
|
105
|
+
# Download the file
|
106
|
+
puts "Downloading endpoint from #{ext["data"]} to #{ext_file_name}"
|
107
|
+
Net::HTTP.start(url.host, url.port) { |http|
|
108
|
+
resp = http.get url.path
|
109
|
+
open(ext_file_name, "wb") do |file|
|
110
|
+
file.write(resp.body)
|
111
|
+
end
|
112
|
+
}
|
77
113
|
puts "Endpoint was created: #{ext_file_name}"
|
78
114
|
else
|
79
115
|
raise ext["errors"].join("\n")
|
80
116
|
end
|
81
117
|
end
|
82
118
|
end
|
83
|
-
end
|
119
|
+
end
|
data/lib/help.rb
CHANGED
@@ -51,6 +51,7 @@ module KRL_CMD
|
|
51
51
|
puts "show".ljust(20) + "Shows a specific version of the app."
|
52
52
|
puts " ".ljust(20) + "Example: krl show 10"
|
53
53
|
puts "generate".ljust(20) + "Generates an endpoint and places it in the endpoints directory."
|
54
|
+
puts " ".ljust(20) + "Name, author, and description are optional and default to the user and app settings."
|
54
55
|
puts " ".ljust(20) + "Example: krl generate firefox"
|
55
56
|
puts " ".ljust(20) + "Available endpoints: "
|
56
57
|
puts " ".ljust(20) + "firefox name author description"
|
data/lib/user.rb
CHANGED
@@ -10,9 +10,10 @@ module KRL_CMD
|
|
10
10
|
KynetxAmApi::Oauth.accounts_server_url = "https://accounts.kynetx.com"
|
11
11
|
KynetxAmApi::Oauth.consumer_key = "1j54YDLUcLW9ERBKalNm"
|
12
12
|
KynetxAmApi::Oauth.consumer_secret = "QiWCbvTpCAejoceV3f6dD8ycifEkSumFAW1VSmwC"
|
13
|
+
raise "Unable to authenticate. You need to run krl-connect." unless File.exists? CONFIG_FILE
|
13
14
|
config = YAML::load_file(CONFIG_FILE)
|
14
15
|
super(opts.merge(config))
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
18
|
-
end
|
19
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 62
|
9
|
+
version: 0.1.62
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Michael Farmer, Cid Dennis
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-06-
|
17
|
+
date: 2010-06-24 00:00:00 -06:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -27,8 +27,8 @@ dependencies:
|
|
27
27
|
segments:
|
28
28
|
- 0
|
29
29
|
- 1
|
30
|
-
-
|
31
|
-
version: 0.1.
|
30
|
+
- 27
|
31
|
+
version: 0.1.27
|
32
32
|
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
34
|
- !ruby/object:Gem::Dependency
|
@@ -57,9 +57,23 @@ dependencies:
|
|
57
57
|
type: :runtime
|
58
58
|
version_requirements: *id003
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
|
-
name:
|
60
|
+
name: launchy
|
61
61
|
prerelease: false
|
62
62
|
requirement: &id004 !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
segments:
|
67
|
+
- 0
|
68
|
+
- 3
|
69
|
+
- 5
|
70
|
+
version: 0.3.5
|
71
|
+
type: :runtime
|
72
|
+
version_requirements: *id004
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: rspec
|
75
|
+
prerelease: false
|
76
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
63
77
|
requirements:
|
64
78
|
- - ">="
|
65
79
|
- !ruby/object:Gem::Version
|
@@ -67,7 +81,7 @@ dependencies:
|
|
67
81
|
- 0
|
68
82
|
version: "0"
|
69
83
|
type: :development
|
70
|
-
version_requirements: *
|
84
|
+
version_requirements: *id005
|
71
85
|
description: " Build your Kynetx applications with the IDE of your choice! Installing the krl gem will give you \n command line tools that provides a simple interface that is similar to git or svn.\n"
|
72
86
|
email: mjf@kynetx.com
|
73
87
|
executables:
|