mortar 0.1.0 → 0.2.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.
- data/lib/mortar/command/clusters.rb +4 -2
- data/lib/mortar/command/describe.rb +10 -3
- data/lib/mortar/command/generate.rb +27 -16
- data/lib/mortar/command/help.rb +1 -1
- data/lib/mortar/command/illustrate.rb +9 -3
- data/lib/mortar/command/jobs.rb +49 -8
- data/lib/mortar/command/pigscripts.rb +5 -4
- data/lib/mortar/command/projects.rb +25 -15
- data/lib/mortar/command/validate.rb +9 -3
- data/lib/mortar/templates/project/README.md +3 -4
- data/lib/mortar/version.rb +1 -1
- data/spec/mortar/command/jobs_spec.rb +24 -2
- data/spec/mortar/command/projects_spec.rb +22 -8
- data/spec/mortar/git_spec.rb +1 -1
- data/spec/spec_helper.rb +3 -2
- metadata +7 -7
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
require "mortar/command/base"
|
18
18
|
|
19
|
-
|
19
|
+
# view running and recent clusters
|
20
20
|
#
|
21
21
|
class Mortar::Command::Clusters < Mortar::Command::Base
|
22
22
|
|
@@ -28,7 +28,9 @@ class Mortar::Command::Clusters < Mortar::Command::Base
|
|
28
28
|
#
|
29
29
|
# $ mortar clusters
|
30
30
|
#
|
31
|
-
#
|
31
|
+
#cluster_id Size (# of Nodes) Status Type Start Timestamp Elapsed Time
|
32
|
+
#------------------------ ----------------- -------- ----------- --------------- ------------
|
33
|
+
#5023ca3ce0c222b7caaa546a 3 Starting Multi - Job
|
32
34
|
#
|
33
35
|
def index
|
34
36
|
validate_arguments!
|
@@ -17,7 +17,7 @@
|
|
17
17
|
require "mortar/command/base"
|
18
18
|
require "mortar/snapshot"
|
19
19
|
|
20
|
-
#
|
20
|
+
# show data schema for pigscript
|
21
21
|
#
|
22
22
|
class Mortar::Command::Describe < Mortar::Command::Base
|
23
23
|
|
@@ -32,9 +32,16 @@ class Mortar::Command::Describe < Mortar::Command::Base
|
|
32
32
|
#
|
33
33
|
# Examples:
|
34
34
|
#
|
35
|
-
# $ mortar describe
|
35
|
+
# $ mortar describe generate_regression_model_coefficients songs_sample
|
36
36
|
#
|
37
|
-
#
|
37
|
+
#Taking code snapshot... done
|
38
|
+
#Sending code snapshot to Mortar... done
|
39
|
+
#Starting describe... done
|
40
|
+
#
|
41
|
+
#Status: Success
|
42
|
+
#
|
43
|
+
#Results available at https://hawk.mortardata.com/describes/2000cf2e421aa909690000af
|
44
|
+
#Opening web browser to show results... done
|
38
45
|
#
|
39
46
|
def index
|
40
47
|
pigscript_name = shift_argument
|
@@ -20,20 +20,30 @@ require "mortar/generators/pigscript_generator"
|
|
20
20
|
require "mortar/generators/macro_generator"
|
21
21
|
require "mortar/command/base"
|
22
22
|
|
23
|
-
# generate
|
23
|
+
# generate mortar code (project, pigscript, python_udf, macro)
|
24
24
|
#
|
25
25
|
class Mortar::Command::Generate < Mortar::Command::Base
|
26
26
|
|
27
|
-
# generate:project
|
27
|
+
# generate:project [PROJECTNAME]
|
28
28
|
#
|
29
|
-
#
|
29
|
+
# Generate the files and directory structure necessary for a Mortar project.
|
30
30
|
#
|
31
31
|
#
|
32
32
|
# Examples:
|
33
33
|
#
|
34
34
|
# $ mortar generate:project
|
35
35
|
#
|
36
|
-
#
|
36
|
+
#create README.md
|
37
|
+
#create .gitignore
|
38
|
+
#create Gemfile
|
39
|
+
#create pigscripts
|
40
|
+
#create pigscripts/my_new_project.pig
|
41
|
+
#create macros
|
42
|
+
#create macros/.gitkeep
|
43
|
+
#create udfs
|
44
|
+
#create udfs/python
|
45
|
+
#create udfs/python/my_new_project.py
|
46
|
+
# run bundle install
|
37
47
|
#
|
38
48
|
def _project
|
39
49
|
project_name = shift_argument
|
@@ -49,16 +59,16 @@ class Mortar::Command::Generate < Mortar::Command::Base
|
|
49
59
|
|
50
60
|
|
51
61
|
|
52
|
-
# generate:python_udf
|
62
|
+
# generate:python_udf [UDFNAME]
|
53
63
|
#
|
54
|
-
#
|
64
|
+
# Generate a new python user defined function
|
55
65
|
#
|
56
66
|
#
|
57
67
|
# Examples:
|
58
68
|
#
|
59
|
-
# $ mortar generate:python_udf
|
69
|
+
# $ mortar generate:python_udf my_new_udf
|
60
70
|
#
|
61
|
-
#
|
71
|
+
#create udfs/python/my_new_udf.py
|
62
72
|
#
|
63
73
|
def python_udf
|
64
74
|
udf_name = shift_argument
|
@@ -70,17 +80,18 @@ class Mortar::Command::Generate < Mortar::Command::Base
|
|
70
80
|
|
71
81
|
end
|
72
82
|
|
73
|
-
# generate:pigscript
|
83
|
+
# generate:pigscript [SCRIPTNAME]
|
74
84
|
#
|
75
|
-
#
|
85
|
+
# Generate new pig script.
|
76
86
|
#
|
77
87
|
# --skip-udf # Create the pig script without a partnered python udf
|
78
88
|
#
|
79
89
|
# Examples:
|
80
90
|
#
|
81
|
-
# $ mortar generate:pigscript
|
91
|
+
# $ mortar generate:pigscript my_new_pigscript
|
82
92
|
#
|
83
|
-
#
|
93
|
+
#create pigscripts/my_new_pigscript.pig
|
94
|
+
#create udfs/python/my_new_pigscript.py
|
84
95
|
#
|
85
96
|
def pigscript
|
86
97
|
script_name = shift_argument
|
@@ -94,16 +105,16 @@ class Mortar::Command::Generate < Mortar::Command::Base
|
|
94
105
|
|
95
106
|
end
|
96
107
|
|
97
|
-
# generate:macro
|
108
|
+
# generate:macro [MACRONAME]
|
98
109
|
#
|
99
|
-
#
|
110
|
+
# Generate a new pig macro.
|
100
111
|
#
|
101
112
|
#
|
102
113
|
# Examples:
|
103
114
|
#
|
104
|
-
# $ mortar generate:macro
|
115
|
+
# $ mortar generate:macro my_new_macro
|
105
116
|
#
|
106
|
-
#
|
117
|
+
#create macros/my_new_macro.pig
|
107
118
|
#
|
108
119
|
def macro
|
109
120
|
macro_name = shift_argument
|
data/lib/mortar/command/help.rb
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
require "mortar/command/base"
|
18
18
|
require "mortar/snapshot"
|
19
19
|
|
20
|
-
#
|
20
|
+
# sample and show data flowing through a pigscript
|
21
21
|
#
|
22
22
|
class Mortar::Command::Illustrate < Mortar::Command::Base
|
23
23
|
|
@@ -32,10 +32,16 @@ class Mortar::Command::Illustrate < Mortar::Command::Base
|
|
32
32
|
#
|
33
33
|
# Examples:
|
34
34
|
#
|
35
|
-
# $ mortar illustrate
|
35
|
+
# $ mortar illustrate generate_regression_model_coefficients songs_sample
|
36
36
|
#
|
37
|
-
#
|
37
|
+
#Taking code snapshot... done
|
38
|
+
#Sending code snapshot to Mortar... done
|
39
|
+
#Starting illustrate... done
|
38
40
|
#
|
41
|
+
#Status: Success
|
42
|
+
#
|
43
|
+
#Results available at https://hawk.mortardata.com/illustrates/2000ce2f421aa909680000af
|
44
|
+
#Opening web browser to show results... done
|
39
45
|
def index
|
40
46
|
pigscript_name = shift_argument
|
41
47
|
alias_name = shift_argument
|
data/lib/mortar/command/jobs.rb
CHANGED
@@ -17,7 +17,8 @@
|
|
17
17
|
require "mortar/command/base"
|
18
18
|
require "mortar/snapshot"
|
19
19
|
require "time"
|
20
|
-
|
20
|
+
|
21
|
+
# run and view status of pig jobs (run, status)
|
21
22
|
#
|
22
23
|
class Mortar::Command::Jobs < Mortar::Command::Base
|
23
24
|
|
@@ -32,10 +33,12 @@ class Mortar::Command::Jobs < Mortar::Command::Base
|
|
32
33
|
#
|
33
34
|
# Examples:
|
34
35
|
#
|
35
|
-
# $ mortar jobs
|
36
|
+
# $ mortar jobs -l 2
|
36
37
|
#
|
37
|
-
#
|
38
|
-
|
38
|
+
#job_id script status start_date elapsed_time cluster_size cluster_id
|
39
|
+
#------------------------ --------------------- ------- ----------------------------------- ------------ ------------ ------------------------
|
40
|
+
#2000cbbba40a860a6f000000 rollup: mock_expanded Success Friday, August 31, 2012, 10:40 AM 2 mins 3 2000cc3cb0c635b7cbff5aaa
|
41
|
+
#20009deca40a866cd5000000 rollup: mock_expanded Stopped Thursday, August 30, 2012, 1:08 PM < 1 min 2 2000857ae4b0dd5573da35aa
|
39
42
|
def index
|
40
43
|
options[:limit] ||= '10'
|
41
44
|
options[:skip] ||= '0'
|
@@ -62,10 +65,20 @@ class Mortar::Command::Jobs < Mortar::Command::Base
|
|
62
65
|
#
|
63
66
|
#Examples:
|
64
67
|
#
|
65
|
-
# $ mortar jobs:run
|
68
|
+
# $ mortar jobs:run --clustersize 3 geenrate_regression_model_coefficients
|
66
69
|
#
|
67
|
-
#
|
70
|
+
#Taking code snapshot... done
|
71
|
+
#Sending code snapshot to Mortar... done
|
72
|
+
#Requesting job execution... done
|
73
|
+
#job_id: 2000cbbba40a860a6f000000
|
74
|
+
#
|
75
|
+
#Job status can be viewed on the web at:
|
76
|
+
#
|
77
|
+
#https://hawk.mortardata.com/jobs/job_detail?job_id=2000cbbba40a860a6f000000
|
78
|
+
#
|
79
|
+
#Or by running:
|
68
80
|
#
|
81
|
+
#mortar jobs:status 2000cbbba40a860a6f000000
|
69
82
|
def run
|
70
83
|
# arguemnts
|
71
84
|
pigscript_name = shift_argument
|
@@ -124,9 +137,12 @@ class Mortar::Command::Jobs < Mortar::Command::Base
|
|
124
137
|
#
|
125
138
|
#Examples:
|
126
139
|
#
|
127
|
-
# $ mortar jobs:status
|
140
|
+
# $ mortar jobs:status 2000cbbba40a860a6f000000
|
128
141
|
#
|
129
|
-
|
142
|
+
#=== songhotness: generate_regression_model_coefficients (job_id: 2000cbbba40a860a6f000000)
|
143
|
+
#hadoop jobs complete: 0.00 / 1.00
|
144
|
+
#progress: 0%
|
145
|
+
#status: Starting Cluster
|
130
146
|
def status
|
131
147
|
job_id = shift_argument
|
132
148
|
unless job_id
|
@@ -171,4 +187,29 @@ class Mortar::Command::Jobs < Mortar::Command::Base
|
|
171
187
|
styled_header("#{job_status["project_name"]}: #{job_status["pigscript_name"]} (job_id: #{job_status["job_id"]})")
|
172
188
|
styled_hash(job_display_entries)
|
173
189
|
end
|
190
|
+
|
191
|
+
# jobs:stop JOB_ID
|
192
|
+
#
|
193
|
+
# Stop a running job.
|
194
|
+
#
|
195
|
+
#Examples:
|
196
|
+
#
|
197
|
+
# $ mortar jobs:stop 2000cbbba40a860a6f000000
|
198
|
+
#
|
199
|
+
#Stopping job 2000cbbba40a860a6f000000
|
200
|
+
def stop
|
201
|
+
job_id = shift_argument
|
202
|
+
unless job_id
|
203
|
+
error("Usage: mortar jobs:stop JOB_ID\nMust specify JOB_ID.")
|
204
|
+
end
|
205
|
+
|
206
|
+
response = api.stop_job(job_id).body
|
207
|
+
|
208
|
+
#TODO: jkarn - Once all servers have the additional message field we can remove this check.
|
209
|
+
if response['message'].nil?
|
210
|
+
display("Stopping job #{job_id}.")
|
211
|
+
else
|
212
|
+
display(response['message'])
|
213
|
+
end
|
214
|
+
end
|
174
215
|
end
|
@@ -16,20 +16,21 @@
|
|
16
16
|
|
17
17
|
require "mortar/command/base"
|
18
18
|
|
19
|
-
#
|
19
|
+
# list available pigscripts
|
20
20
|
#
|
21
21
|
class Mortar::Command::PigScripts < Mortar::Command::Base
|
22
22
|
|
23
23
|
# pigscripts
|
24
24
|
#
|
25
|
-
#
|
25
|
+
# Display the available set of pigscripts
|
26
26
|
#
|
27
27
|
#Examples:
|
28
28
|
#
|
29
29
|
# $ mortar pigscripts
|
30
30
|
#
|
31
|
-
|
32
|
-
#
|
31
|
+
#=== pigscripts
|
32
|
+
#hourly_top_searchers
|
33
|
+
#user_engagement
|
33
34
|
#
|
34
35
|
def index
|
35
36
|
# validation
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
require "mortar/command/base"
|
18
18
|
|
19
|
-
|
19
|
+
# manage projects (create, clone)
|
20
20
|
#
|
21
21
|
class Mortar::Command::Projects < Mortar::Command::Base
|
22
22
|
|
@@ -71,31 +71,39 @@ class Mortar::Command::Projects < Mortar::Command::Base
|
|
71
71
|
end
|
72
72
|
|
73
73
|
project_id = nil
|
74
|
-
action("
|
74
|
+
action("Sending request to create project: #{name}") do
|
75
75
|
project_id = api.post_project(name).body["project_id"]
|
76
76
|
end
|
77
77
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
78
|
+
project_result = nil
|
79
|
+
project_status = nil
|
80
|
+
display
|
81
|
+
ticking(polling_interval) do |ticks|
|
82
|
+
project_result = api.get_project(project_id).body
|
83
|
+
project_status = project_result.fetch("status_code", project_result["status"])
|
84
|
+
project_description = project_result.fetch("status_description", project_status)
|
85
|
+
is_finished = Mortar::API::Projects::STATUSES_COMPLETE.include?(project_status)
|
86
|
+
|
87
|
+
redisplay("Status: %s %s" % [
|
88
|
+
project_description + (is_finished ? "" : "..."),
|
89
|
+
is_finished ? " " : spinner(ticks)],
|
90
|
+
is_finished) # only display newline on last message
|
91
|
+
if is_finished
|
92
|
+
display
|
93
|
+
break
|
84
94
|
end
|
85
|
-
|
86
|
-
last_project_result = current_project_result
|
87
95
|
end
|
88
96
|
|
89
|
-
case
|
97
|
+
case project_status
|
90
98
|
when Mortar::API::Projects::STATUS_FAILED
|
91
|
-
error("Project creation failed.\nError message: #{
|
99
|
+
error("Project creation failed.\nError message: #{project_result['error_message']}")
|
92
100
|
when Mortar::API::Projects::STATUS_ACTIVE
|
93
|
-
git.remote_add("mortar",
|
101
|
+
git.remote_add("mortar", project_result['git_url'])
|
102
|
+
display "Your project is ready for use. Type 'mortar help' to see the commands you can perform on the project.\n\n"
|
94
103
|
else
|
95
|
-
raise RuntimeError, "Unknown project status: #{
|
104
|
+
raise RuntimeError, "Unknown project status: #{project_status} for project_id: #{project_id}"
|
96
105
|
end
|
97
106
|
|
98
|
-
|
99
107
|
end
|
100
108
|
|
101
109
|
# projects:clone PROJECT
|
@@ -124,5 +132,7 @@ class Mortar::Command::Projects < Mortar::Command::Base
|
|
124
132
|
end
|
125
133
|
|
126
134
|
git.clone(project['git_url'], project['name'])
|
135
|
+
|
136
|
+
display "\nYour project is ready for use. Type 'mortar help' to see the commands you can perform on the project.\n\n"
|
127
137
|
end
|
128
138
|
end
|
@@ -17,7 +17,7 @@
|
|
17
17
|
require "mortar/command/base"
|
18
18
|
require "mortar/snapshot"
|
19
19
|
|
20
|
-
#
|
20
|
+
# check script syntax
|
21
21
|
#
|
22
22
|
class Mortar::Command::Validate < Mortar::Command::Base
|
23
23
|
|
@@ -35,9 +35,15 @@ class Mortar::Command::Validate < Mortar::Command::Base
|
|
35
35
|
#
|
36
36
|
# Examples:
|
37
37
|
#
|
38
|
-
# $ mortar validate
|
38
|
+
# $ mortar validate generate_regression_model_coefficients
|
39
39
|
#
|
40
|
-
#
|
40
|
+
#Taking code snapshot... done
|
41
|
+
#Sending code snapshot to Mortar... done
|
42
|
+
#Starting validate... done
|
43
|
+
#
|
44
|
+
#Status: Success
|
45
|
+
#
|
46
|
+
#Your script is valid.
|
41
47
|
#
|
42
48
|
def index
|
43
49
|
pigscript_name = shift_argument
|
@@ -1,8 +1,7 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
Copy TK
|
1
|
+
# Welcome to Mortar!
|
4
2
|
|
3
|
+
Mortar is a platform-as-a-service for Hadoop. With Mortar, you can run jobs on Hadoop using Apache Pig and Python without any special training. You create your project using the Mortar command-line tool, deploy code using the Git revision control system, and Mortar does the rest.
|
5
4
|
|
6
5
|
# Getting Started
|
7
6
|
|
8
|
-
|
7
|
+
For help getting started with Mortar, check out the [Mortar Help](http://preview.help.mortardata.com/) site.
|
data/lib/mortar/version.rb
CHANGED
@@ -357,8 +357,30 @@ status: Execution error
|
|
357
357
|
STDOUT
|
358
358
|
end
|
359
359
|
end
|
360
|
-
|
361
|
-
|
360
|
+
|
361
|
+
context("stop") do
|
362
|
+
it "Stops a running job with default message" do
|
363
|
+
job_id = "1234abcd"
|
364
|
+
mock(Mortar::Auth.api).stop_job(job_id) {Excon::Response.new(:body => {"success" => true})}
|
365
|
+
|
366
|
+
stderr, stdout = execute("jobs:stop #{job_id}")
|
367
|
+
stdout.should == <<-STDOUT
|
368
|
+
Stopping job #{job_id}.
|
369
|
+
STDOUT
|
370
|
+
end
|
371
|
+
|
372
|
+
it "Stops a running job with server message" do
|
373
|
+
job_id = "1234abcd"
|
374
|
+
message = "some awesome message"
|
375
|
+
mock(Mortar::Auth.api).stop_job(job_id) {Excon::Response.new(:body => {"success" => true, "message" => message})}
|
376
|
+
|
377
|
+
stderr, stdout = execute("jobs:stop #{job_id}")
|
378
|
+
stdout.should == "#{message}\n"
|
379
|
+
end
|
380
|
+
|
381
|
+
|
382
|
+
end
|
383
|
+
|
362
384
|
end
|
363
385
|
end
|
364
386
|
end
|
@@ -31,10 +31,10 @@ module Mortar::Command
|
|
31
31
|
|
32
32
|
project1 = {'name' => "Project1",
|
33
33
|
'status' => Mortar::API::Projects::STATUS_ACTIVE,
|
34
|
-
'git_url' => "git@github.com:mortarcode/Project1"}
|
34
|
+
'git_url' => "git@github.com:mortarcode-dev/Project1"}
|
35
35
|
project2 = {'name' => "Project2",
|
36
36
|
'status' => Mortar::API::Projects::STATUS_ACTIVE,
|
37
|
-
'git_url' => "git@github.com:mortarcode/Project2"}
|
37
|
+
'git_url' => "git@github.com:mortarcode-dev/Project2"}
|
38
38
|
|
39
39
|
context("index") do
|
40
40
|
|
@@ -94,10 +94,10 @@ STDERR
|
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
97
|
-
it "create a new project successfully" do
|
97
|
+
it "create a new project successfully - with status" do
|
98
98
|
project_id = "1234abcd1234abcd1234"
|
99
99
|
project_name = "some_new_project"
|
100
|
-
project_git_url = "git@github.com:mortarcode/#{project_name}"
|
100
|
+
project_git_url = "git@github.com:mortarcode-dev/#{project_name}"
|
101
101
|
mock(Mortar::Auth.api).post_project("some_new_project") {Excon::Response.new(:body => {"project_id" => project_id})}
|
102
102
|
mock(Mortar::Auth.api).get_project(project_id).returns(Excon::Response.new(:body => {"status" => Mortar::API::Projects::STATUS_PENDING})).ordered
|
103
103
|
mock(Mortar::Auth.api).get_project(project_id).returns(Excon::Response.new(:body => {"status" => Mortar::API::Projects::STATUS_CREATING})).ordered
|
@@ -107,10 +107,24 @@ STDERR
|
|
107
107
|
|
108
108
|
stderr, stdout = execute("projects:create #{project_name} --polling_interval 0.05", nil, @git)
|
109
109
|
stdout.should == <<-STDOUT
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
Sending request to create project: some_new_project... done\n\n\r\e[0KStatus: PENDING... /\r\e[0KStatus: CREATING... -\r\e[0KStatus: ACTIVE \n\nYour project is ready for use. Type 'mortar help' to see the commands you can perform on the project.\n
|
111
|
+
STDOUT
|
112
|
+
end
|
113
|
+
|
114
|
+
it "create a new project successfully - with status_code and status_description" do
|
115
|
+
project_id = "1234abcd1234abcd1234"
|
116
|
+
project_name = "some_new_project"
|
117
|
+
project_git_url = "git@github.com:mortarcode-dev/#{project_name}"
|
118
|
+
mock(Mortar::Auth.api).post_project("some_new_project") {Excon::Response.new(:body => {"project_id" => project_id})}
|
119
|
+
mock(Mortar::Auth.api).get_project(project_id).returns(Excon::Response.new(:body => {"status_description" => "Pending", "status_code" => Mortar::API::Projects::STATUS_PENDING})).ordered
|
120
|
+
mock(Mortar::Auth.api).get_project(project_id).returns(Excon::Response.new(:body => {"status_description" => "Creating", "status_code" => Mortar::API::Projects::STATUS_CREATING})).ordered
|
121
|
+
mock(Mortar::Auth.api).get_project(project_id).returns(Excon::Response.new(:body => {"status_description" => "Active", "status_code" => Mortar::API::Projects::STATUS_ACTIVE,
|
122
|
+
"git_url" => project_git_url})).ordered
|
123
|
+
mock(@git).remote_add("mortar", project_git_url)
|
124
|
+
|
125
|
+
stderr, stdout = execute("projects:create #{project_name} --polling_interval 0.05", nil, @git)
|
126
|
+
stdout.should == <<-STDOUT
|
127
|
+
Sending request to create project: some_new_project... done\n\n\r\e[0KStatus: Pending... /\r\e[0KStatus: Creating... -\r\e[0KStatus: Active \n\nYour project is ready for use. Type 'mortar help' to see the commands you can perform on the project.\n
|
114
128
|
STDOUT
|
115
129
|
end
|
116
130
|
|
data/spec/mortar/git_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -49,7 +49,7 @@ def execute(command_line, project=nil, git=nil)
|
|
49
49
|
stub(base).project.returns(project)
|
50
50
|
end
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
# stub git
|
54
54
|
if git
|
55
55
|
# stub out any operations that affect remote resources
|
@@ -57,6 +57,7 @@ def execute(command_line, project=nil, git=nil)
|
|
57
57
|
|
58
58
|
any_instance_of(Mortar::Command::Base) do |base|
|
59
59
|
stub(base).git.returns(git)
|
60
|
+
stub(base).git_organization.returns("mortarcode-dev")
|
60
61
|
end
|
61
62
|
end
|
62
63
|
|
@@ -190,7 +191,7 @@ def with_git_initialized_project(&block)
|
|
190
191
|
remote = "mortar"
|
191
192
|
`git add README.txt`
|
192
193
|
`git commit -a -m "First commit"`
|
193
|
-
`git remote add #{remote} git@github.com:mortarcode/4dbbd83cae8d5bf8a4000000_#{project.name}.git`
|
194
|
+
`git remote add #{remote} git@github.com:mortarcode-dev/4dbbd83cae8d5bf8a4000000_#{project.name}.git`
|
194
195
|
project.remote = remote
|
195
196
|
block.call(project)
|
196
197
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mortar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 2
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Mortar Data
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-08-
|
18
|
+
date: 2012-08-31 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: mortar-api-ruby
|
@@ -25,12 +25,12 @@ dependencies:
|
|
25
25
|
requirements:
|
26
26
|
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
28
|
+
hash: 23
|
29
29
|
segments:
|
30
30
|
- 0
|
31
|
-
-
|
31
|
+
- 2
|
32
32
|
- 0
|
33
|
-
version: 0.
|
33
|
+
version: 0.2.0
|
34
34
|
type: :runtime
|
35
35
|
version_requirements: *id001
|
36
36
|
- !ruby/object:Gem::Dependency
|