brake 0.0.2 → 0.0.3
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/brake +1 -2
- data/lib/brake.rb +110 -66
- metadata +7 -5
data/bin/brake
CHANGED
data/lib/brake.rb
CHANGED
@@ -1,69 +1,113 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
/M/ .,-=;//;-
|
4
|
-
.:/= ;MH/, ,=/+%$XH@MM#@:
|
5
|
-
-$##@+$###@H@MMM#######H:. -/H#
|
6
|
-
.,H@H@ X######@ -H#####@+- -+H###@X
|
7
|
-
.,@##H; +XM##M/, =%@###@X;-
|
8
|
-
X%- :M##########$. .:%M###@%:
|
9
|
-
M##H, +H@@@$/-. ,;$M###@%, -
|
10
|
-
M####M=,,---,.-%%H####M$: ,+@##
|
11
|
-
@##################@/. :%H##@$-
|
12
|
-
M###############H, ;HM##M$=
|
13
|
-
#################. .=$M##M$=
|
14
|
-
################H..;XM##M$= .:+
|
15
|
-
M###################@%= =+@MH%
|
16
|
-
@################M/. =+H#X%=
|
17
|
-
=+M##############M, -/X#X+;.
|
18
|
-
.;XM##########H= ,/X#H+:,
|
19
|
-
.=+HM######M+/+HM@+=.
|
20
|
-
,:/%XM####H/.
|
21
|
-
,.:=-.
|
22
|
-
''' + "\033[0m\n"
|
1
|
+
# @author Ben Slaughter, Jonathan Chrisp
|
2
|
+
require 'optparse'
|
23
3
|
|
4
|
+
begin
|
5
|
+
load 'Brakefile'
|
6
|
+
rescue LoadError
|
7
|
+
puts "Brakefile not present"
|
8
|
+
exit
|
9
|
+
end
|
24
10
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
###############M########################
|
29
|
-
##############X,-/++/+%+/,%#############
|
30
|
-
############M$: -X############
|
31
|
-
##########H;. ,--. =X##########
|
32
|
-
:X######M; -$H@M##MH%: :H#######@
|
33
|
-
=%#M+=, ,+@#######M###H: -=/M#%
|
34
|
-
%M##@+ .X##$, ./+- ./###; +M##%
|
35
|
-
%####M. /###= @##M. X###%
|
36
|
-
%####M. ;M##H:. =$###X. $###%
|
37
|
-
%####@. /####M$-./@#####: %###%
|
38
|
-
%H#M/, /H###########@: ./M#%
|
39
|
-
;$H##@@H: .;$HM#MMMH$;, ./H@M##M$=
|
40
|
-
X#########%. ..,,. .;@#########
|
41
|
-
###########H+:. ./@###########
|
42
|
-
##############/ ./%%%%+/.-M#############
|
43
|
-
##############H$@#######@@##############
|
44
|
-
##############X%########M$M#############
|
45
|
-
+M##########H: .$##########X=
|
46
|
-
''' + "\033[0m\n"
|
11
|
+
if not defined?(LN_SUPPORTED)
|
12
|
+
require 'rake'
|
13
|
+
end
|
47
14
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
15
|
+
# @author Ben Slaughter
|
16
|
+
class Brake
|
17
|
+
# starts the Brake Class
|
18
|
+
def genesis
|
19
|
+
arguments = self.parse_command_line_options
|
20
|
+
p '---------------- debug --------------'
|
21
|
+
p ARGV
|
22
|
+
p '-------------------------------------'
|
23
|
+
self.run_rake_task( arguments, task)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Parses the options from the command line
|
27
|
+
# converts the information into a Hash that is returned
|
28
|
+
# @return [hash] arguemnts a hash containg the parsed and data
|
29
|
+
def parse_command_line_options
|
30
|
+
options = []
|
31
|
+
|
32
|
+
# parses the options from the command line
|
33
|
+
OptionParser.new do |opts|
|
34
|
+
opts.banner = "\nBrake, The Brandwatch Rake wrapper for cucumber, Give Rake a Brake.\nUsage: brake <task> [options]"
|
35
|
+
opts.separator ""
|
36
|
+
opts.separator "Global options:"
|
37
|
+
opts.on("-e", "--enviroment release", String, "String: The enviroment to run the tests against eg Release" ) { |o| options.push([:env, o]) }
|
38
|
+
opts.on("-p", "--platform brandwatchWeb", String, "String: The platform to run the tests on eg brandwatchWeb" ) { |o| options.push([:platform, o]) }
|
39
|
+
opts.on("-t", "--tags @high,@login", Array, "Array: A list of all tagged test to be run" ) { |o| options.push([:tags, o]) }
|
40
|
+
opts.on("-l", "--log_level debug", String, "String: The log output level debug|info" ) { |o| options.push([:log_level, o]) }
|
41
|
+
opts.separator "Browser options:"
|
42
|
+
opts.on("-H", "--[no-]highlight", "Bool: To turn off the highlight of elements" ) { |o| options.push([:highlight, o]) }
|
43
|
+
opts.separator ""
|
44
|
+
opts.separator "BrandwatchWeb options:"
|
45
|
+
opts.on("-b", "--browser chrome", String, "String: The type of browser to run" ) { |o| options.push([:browser, o]) }
|
46
|
+
opts.on("-s", "--screen 1280,1024", Array, "Array: The width,hight of the browser window" ) { |o| options.push([:screen, o]) }
|
47
|
+
opts.on("--pos", "--position 0,0", Array, "Array: The x,y coords of the browser 0,0 top left" ) { |o| options.push([:position, o]) }
|
48
|
+
opts.separator ""
|
49
|
+
opts.separator "API options:"
|
50
|
+
opts.on("-v", "--version 00", String, "String: API Version number" ) { |o| options.push([:version, o]) }
|
51
|
+
opts.separator ""
|
52
|
+
opts.separator "For furthur assistance please contact Ben Slaughter"
|
53
|
+
opts.on_tail("-h", "--help", "Show this message") do
|
54
|
+
puts opts
|
55
|
+
exit
|
56
|
+
end
|
57
|
+
end.parse!
|
58
|
+
|
59
|
+
# creates the default arguments
|
60
|
+
# --require features Ensures that all features are included
|
61
|
+
# -P Disables profiles, we no longer need it as all data is given at command line
|
62
|
+
arguments = { :req => "--require features -P" }
|
63
|
+
|
64
|
+
# takes the parsed options and turns them into meaningful data
|
65
|
+
# the data is later read by the automation code
|
66
|
+
options.each do | value |
|
67
|
+
case value[0]
|
68
|
+
when :platform
|
69
|
+
arguments[:platform] = "PLATFORM=#{value[1].downcase}"
|
70
|
+
when :env
|
71
|
+
arguments[:env] = "ENVIRONMENT=#{value[1].downcase}"
|
72
|
+
when :tags
|
73
|
+
arguments[:tags] ||= []
|
74
|
+
arguments[:tags].push( "--tags #{value[1].join(',')}" )
|
75
|
+
when :log_level
|
76
|
+
arguments[:log_level] = "LOGLEVEL=#{value[1].downcase}"
|
77
|
+
when :highlight
|
78
|
+
arguments[:highlight] = "HIGHLIGHT=true"
|
79
|
+
when :browser
|
80
|
+
arguments[:browser] = "BROWSERNAME=#{value[1].downcase}"
|
81
|
+
when :screen
|
82
|
+
arguments.push( "SCREENWIDTH=#{value[1][0].downcase} SCREENHEIGHT=#{value[1][1].downcase}" )
|
83
|
+
when :position
|
84
|
+
arguments.push( "XPOSITION=#{value[1][0].downcase} YPOSITION=#{value[1][1].downcase}" )
|
85
|
+
when :version
|
86
|
+
arguments.push( "VERSION=#{value[1].downcase}" )
|
87
|
+
end
|
88
|
+
end
|
89
|
+
return arguments
|
90
|
+
end
|
91
|
+
|
92
|
+
# Runs the given rake task with the given arguments
|
93
|
+
# @param [hash] arguments a hash containing the arguments to be passed to the task
|
94
|
+
# @param [string] task This is the name of the rake task to be invoked
|
95
|
+
def run_rake_task( arguments, task = 'default' )
|
96
|
+
puts "running task: " + task
|
97
|
+
case task.downcase
|
98
|
+
when 'default'
|
99
|
+
puts "WARNING: No Defaults set for default task"
|
100
|
+
Rake::Task[:default].invoke( arguments.values.join( ' ' ) )
|
101
|
+
when 'brandwatchweb', 'bw'
|
102
|
+
arguments = arguments.merge({ :platform => "PLATFORM=brandwatchweb", :env => 'ENVIRONMENT=release', :browser => 'BROWSERNAME=chrome' })
|
103
|
+
Rake::Task[:brandwatchWeb].invoke( arguments.values.join( ' ' ) )
|
104
|
+
when 'brandwatchapi', 'api'
|
105
|
+
arguments = arguments.merge({ :platform => "PLATFORM=brandwatchapi", :env => 'ENVIRONMENT=int', :version => 'VERSION=1' })
|
106
|
+
Rake::Task[:brandwatchAPI].invoke( arguments.values.join( ' ' ) )
|
107
|
+
else
|
108
|
+
puts "WARNING: No Defaults set for custom task"
|
109
|
+
Rake::Task[task].invoke( arguments.values.join( ' ' ) )
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,9 +10,9 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-09-06 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
|
-
description: Brandwatch
|
15
|
+
description: A Brandwatch made, options parser wrapper for Rake, No Brake for Rake.
|
16
16
|
email: bens@brandwatch.com
|
17
17
|
executables:
|
18
18
|
- brake
|
@@ -24,7 +24,9 @@ files:
|
|
24
24
|
homepage: http://rubygems.org/gems/brake
|
25
25
|
licenses:
|
26
26
|
- GPL-2
|
27
|
-
post_install_message: Thanks for installing brake!
|
27
|
+
post_install_message: ! 'Thanks for installing brake!
|
28
|
+
|
29
|
+
No Brake for Rake.'
|
28
30
|
rdoc_options: []
|
29
31
|
require_paths:
|
30
32
|
- lib
|
@@ -45,6 +47,6 @@ rubyforge_project:
|
|
45
47
|
rubygems_version: 1.8.24
|
46
48
|
signing_key:
|
47
49
|
specification_version: 3
|
48
|
-
summary:
|
50
|
+
summary: A Brandwatch wrapper for rake, No Brake for Rake.
|
49
51
|
test_files: []
|
50
52
|
has_rdoc:
|