webtask 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +49 -0
  6. data/CONTRIBUTING.md +5 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE +21 -0
  9. data/README.md +39 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/example/Rakefile +62 -0
  14. data/example/test.log +21 -0
  15. data/exe/webtask +5 -0
  16. data/lib/webtask.rb +18 -0
  17. data/lib/webtask/application.rb +23 -0
  18. data/lib/webtask/public/javascripts/application.js +25 -0
  19. data/lib/webtask/public/stylesheets/application.css +277 -0
  20. data/lib/webtask/public/stylesheets/application.css.map +7 -0
  21. data/lib/webtask/public/stylesheets/sass/application.scss +106 -0
  22. data/lib/webtask/public/stylesheets/sass/base/_base.scss +15 -0
  23. data/lib/webtask/public/stylesheets/sass/base/_buttons.scss +35 -0
  24. data/lib/webtask/public/stylesheets/sass/base/_forms.scss +84 -0
  25. data/lib/webtask/public/stylesheets/sass/base/_grid-settings.scss +14 -0
  26. data/lib/webtask/public/stylesheets/sass/base/_lists.scss +19 -0
  27. data/lib/webtask/public/stylesheets/sass/base/_tables.scss +24 -0
  28. data/lib/webtask/public/stylesheets/sass/base/_typography.scss +48 -0
  29. data/lib/webtask/public/stylesheets/sass/base/_variables.scss +44 -0
  30. data/lib/webtask/public/stylesheets/sass/bourbon/_bourbon-deprecated-upcoming.scss +411 -0
  31. data/lib/webtask/public/stylesheets/sass/bourbon/_bourbon.scss +87 -0
  32. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_border-color.scss +26 -0
  33. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_border-radius.scss +48 -0
  34. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_border-style.scss +25 -0
  35. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_border-width.scss +25 -0
  36. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_buttons.scss +64 -0
  37. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_clearfix.scss +25 -0
  38. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_ellipsis.scss +30 -0
  39. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_font-stacks.scss +31 -0
  40. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_hide-text.scss +27 -0
  41. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_margin.scss +26 -0
  42. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_padding.scss +26 -0
  43. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_position.scss +48 -0
  44. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_prefixer.scss +66 -0
  45. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_retina-image.scss +25 -0
  46. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_size.scss +51 -0
  47. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_text-inputs.scss +113 -0
  48. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_timing-functions.scss +34 -0
  49. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_triangle.scss +63 -0
  50. data/lib/webtask/public/stylesheets/sass/bourbon/addons/_word-wrap.scss +29 -0
  51. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_animation.scss +43 -0
  52. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_appearance.scss +3 -0
  53. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_backface-visibility.scss +3 -0
  54. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_background-image.scss +42 -0
  55. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_background.scss +55 -0
  56. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_border-image.scss +59 -0
  57. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_calc.scss +4 -0
  58. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_columns.scss +47 -0
  59. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_filter.scss +4 -0
  60. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_flex-box.scss +287 -0
  61. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_font-face.scss +24 -0
  62. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_font-feature-settings.scss +4 -0
  63. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_hidpi-media-query.scss +10 -0
  64. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_hyphens.scss +4 -0
  65. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_image-rendering.scss +14 -0
  66. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_keyframes.scss +36 -0
  67. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_linear-gradient.scss +38 -0
  68. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_perspective.scss +8 -0
  69. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_placeholder.scss +8 -0
  70. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_radial-gradient.scss +39 -0
  71. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_selection.scss +42 -0
  72. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_text-decoration.scss +19 -0
  73. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_transform.scss +15 -0
  74. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_transition.scss +71 -0
  75. data/lib/webtask/public/stylesheets/sass/bourbon/css3/_user-select.scss +3 -0
  76. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_assign-inputs.scss +11 -0
  77. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_contains-falsy.scss +20 -0
  78. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_contains.scss +26 -0
  79. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_is-length.scss +11 -0
  80. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_is-light.scss +21 -0
  81. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_is-number.scss +11 -0
  82. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_is-size.scss +13 -0
  83. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_modular-scale.scss +69 -0
  84. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_px-to-em.scss +13 -0
  85. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_px-to-rem.scss +15 -0
  86. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_shade.scss +24 -0
  87. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_strip-units.scss +17 -0
  88. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_tint.scss +24 -0
  89. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_transition-property-name.scss +22 -0
  90. data/lib/webtask/public/stylesheets/sass/bourbon/functions/_unpack.scss +27 -0
  91. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_convert-units.scss +21 -0
  92. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_directional-values.scss +96 -0
  93. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_font-source-declaration.scss +43 -0
  94. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_gradient-positions-parser.scss +13 -0
  95. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-angle-parser.scss +25 -0
  96. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-gradient-parser.scss +41 -0
  97. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-positions-parser.scss +61 -0
  98. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-side-corner-parser.scss +31 -0
  99. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_radial-arg-parser.scss +69 -0
  100. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_radial-gradient-parser.scss +50 -0
  101. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_radial-positions-parser.scss +18 -0
  102. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_render-gradients.scss +26 -0
  103. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_shape-size-stripper.scss +10 -0
  104. data/lib/webtask/public/stylesheets/sass/bourbon/helpers/_str-to-num.scss +50 -0
  105. data/lib/webtask/public/stylesheets/sass/bourbon/settings/_asset-pipeline.scss +7 -0
  106. data/lib/webtask/public/stylesheets/sass/bourbon/settings/_prefixer.scss +9 -0
  107. data/lib/webtask/public/stylesheets/sass/bourbon/settings/_px-to-em.scss +1 -0
  108. data/lib/webtask/public/stylesheets/sass/neat/_neat-helpers.scss +11 -0
  109. data/lib/webtask/public/stylesheets/sass/neat/_neat.scss +23 -0
  110. data/lib/webtask/public/stylesheets/sass/neat/functions/_new-breakpoint.scss +49 -0
  111. data/lib/webtask/public/stylesheets/sass/neat/functions/_private.scss +114 -0
  112. data/lib/webtask/public/stylesheets/sass/neat/grid/_box-sizing.scss +15 -0
  113. data/lib/webtask/public/stylesheets/sass/neat/grid/_direction-context.scss +33 -0
  114. data/lib/webtask/public/stylesheets/sass/neat/grid/_display-context.scss +28 -0
  115. data/lib/webtask/public/stylesheets/sass/neat/grid/_fill-parent.scss +22 -0
  116. data/lib/webtask/public/stylesheets/sass/neat/grid/_media.scss +92 -0
  117. data/lib/webtask/public/stylesheets/sass/neat/grid/_omega.scss +87 -0
  118. data/lib/webtask/public/stylesheets/sass/neat/grid/_outer-container.scss +34 -0
  119. data/lib/webtask/public/stylesheets/sass/neat/grid/_pad.scss +25 -0
  120. data/lib/webtask/public/stylesheets/sass/neat/grid/_private.scss +35 -0
  121. data/lib/webtask/public/stylesheets/sass/neat/grid/_row.scss +52 -0
  122. data/lib/webtask/public/stylesheets/sass/neat/grid/_shift.scss +50 -0
  123. data/lib/webtask/public/stylesheets/sass/neat/grid/_span-columns.scss +94 -0
  124. data/lib/webtask/public/stylesheets/sass/neat/grid/_to-deprecate.scss +97 -0
  125. data/lib/webtask/public/stylesheets/sass/neat/grid/_visual-grid.scss +42 -0
  126. data/lib/webtask/public/stylesheets/sass/neat/mixins/_clearfix.scss +25 -0
  127. data/lib/webtask/public/stylesheets/sass/neat/settings/_disable-warnings.scss +13 -0
  128. data/lib/webtask/public/stylesheets/sass/neat/settings/_grid.scss +51 -0
  129. data/lib/webtask/public/stylesheets/sass/neat/settings/_visual-grid.scss +27 -0
  130. data/lib/webtask/rake_application.rb +40 -0
  131. data/lib/webtask/stream_error.rb +18 -0
  132. data/lib/webtask/stream_out.rb +12 -0
  133. data/lib/webtask/task_runner.rb +63 -0
  134. data/lib/webtask/task_wrapper.rb +25 -0
  135. data/lib/webtask/version.rb +3 -0
  136. data/lib/webtask/views/index.haml +57 -0
  137. data/lib/webtask/views/result.haml +30 -0
  138. data/webtask.gemspec +34 -0
  139. metadata +339 -0
@@ -0,0 +1,27 @@
1
+ @charset "UTF-8";
2
+
3
+ /// Displays the visual grid when set to true. The overlaid grid may be few pixels off depending on the browser's rendering engine and pixel rounding algorithm. Set with the `!global` flag.
4
+ ///
5
+ /// @type Bool
6
+
7
+ $visual-grid: false !default;
8
+
9
+ /// Sets the visual grid color. Set with `!global` flag.
10
+ ///
11
+ /// @type Color
12
+
13
+ $visual-grid-color: #eee !default;
14
+
15
+ /// Sets the `z-index` property of the visual grid. Can be `back` (behind content) or `front` (in front of content). Set with `!global` flag.
16
+ ///
17
+ /// @type String
18
+
19
+ $visual-grid-index: back !default;
20
+
21
+ /// Sets the opacity property of the visual grid. Set with `!global` flag.
22
+ ///
23
+ /// @type Number (unitless)
24
+
25
+ $visual-grid-opacity: 0.4 !default;
26
+
27
+ $visual-grid-breakpoints: () !default;
@@ -0,0 +1,40 @@
1
+ module Webtask
2
+ class RakeApplication
3
+ # Required to access task descriptions
4
+ Rake::TaskManager.record_task_metadata = true
5
+
6
+ class << self
7
+ def tasks
8
+ @tasks ||= rake_app.tasks.map { |task| TaskWrapper.new(task) }
9
+ end
10
+
11
+ def build_task_endpoints(application)
12
+ tasks.each do |task|
13
+ application.post "/#{task.name}" do
14
+ argument_list = task.arg_names.map do |arg_name|
15
+ params[:args][arg_name]
16
+ end
17
+
18
+ stream_id = Digest::SHA1.hexdigest(rand.to_s)
19
+ application.settings.output_streams[stream_id] = task.shell_command(args: argument_list)
20
+
21
+ haml :result, format: :html5, locals: { task: task, stream_id: stream_id }
22
+ end
23
+ end
24
+ end
25
+
26
+
27
+ private
28
+
29
+ def rake_app
30
+ return @rake_app if @rake_app
31
+
32
+ @rake_app = Rake.application
33
+ @rake_app.init
34
+ @rake_app.load_rakefile
35
+
36
+ return @rake_app
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,18 @@
1
+ module Webtask
2
+ class StreamError
3
+ def initialize(stream)
4
+ @stream = stream
5
+ @errors = false
6
+ end
7
+
8
+ def errors?
9
+ @errors
10
+ end
11
+
12
+ def write(data)
13
+ @errors = true
14
+ @stream << "event: stderr\n"
15
+ @stream << "data: #{data}\n\n"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ module Webtask
2
+ class StreamOut
3
+ def initialize(stream)
4
+ @stream = stream
5
+ end
6
+
7
+ def write(data)
8
+ @stream << "event: stdout\n"
9
+ @stream << "data: #{data}\n\n"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,63 @@
1
+ module Webtask
2
+ class TaskRunner
3
+ class << self
4
+ def run(command:, out:)
5
+ runner = new(command: command, out: out)
6
+ runner.run
7
+ end
8
+ end
9
+
10
+ def initialize(command:, out:)
11
+ @command = command
12
+ @out = out
13
+ end
14
+
15
+ def run
16
+ print_intro
17
+
18
+ execute_command
19
+
20
+ print_outro
21
+ end
22
+
23
+
24
+ private
25
+
26
+ attr_reader :command
27
+ attr_reader :out
28
+
29
+ def outputs
30
+ @outputs ||= { err: StreamError.new(out), out: StreamOut.new(out) }
31
+ end
32
+
33
+ def print_intro
34
+ outputs[:out].write(">>> Running #{command.inspect}...")
35
+ outputs[:out].write("\n")
36
+ end
37
+
38
+ def execute_command
39
+ Open3.popen3(command) do |_stdin, stdout, stderr, thread|
40
+ # read each stream from a new thread
41
+ { out: stdout, err: stderr }.each do |key, io|
42
+ Thread.new do
43
+ until (raw_line = io.gets).nil? do
44
+ outputs[key].write [Time.now, raw_line].join(" - ")
45
+ end
46
+ end
47
+ end
48
+
49
+ thread.join # don't exit until the external process is done
50
+ end
51
+ end
52
+
53
+ def print_outro
54
+ outputs[:out].write("\n")
55
+
56
+ if outputs[:err].errors?
57
+ outputs[:err].write("There have been errors!")
58
+ else
59
+ outputs[:out].write("All Done!")
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,25 @@
1
+ module Webtask
2
+ class TaskWrapper < SimpleDelegator
3
+ def has_options_for?(arg_name)
4
+ !!options[arg_name.to_sym]
5
+ end
6
+
7
+ def shell_command(args:)
8
+ "bundle exec rake #{name}[#{args.join(",")}]"
9
+ end
10
+
11
+ def options
12
+ arg_names.each_with_object({}) do |arg_name, options|
13
+ if __getobj__.respond_to?(:options_for, true)
14
+ if options_for_arg_name = __getobj__.send(:options_for, arg_name)
15
+ options[arg_name.to_sym] = options_for_arg_name
16
+ else
17
+ next
18
+ end
19
+ else
20
+ next
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ module Webtask
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,57 @@
1
+ !!! 5
2
+ %html{ lang: "en" }
3
+ %head
4
+ %meta{ charset: "utf-8" }
5
+ %title
6
+ Webrake
7
+ %link{ href: "/stylesheets/application.css", media: "all", rel: "stylesheet" }
8
+
9
+ %body
10
+ %nav.Webrake
11
+ %h1
12
+ &mdash; A web GUI for your Rake tasks
13
+
14
+ %section.Container
15
+
16
+ .Wrapper
17
+
18
+ %h2.Introduction
19
+ :markdown
20
+ The following tasks where discovered in your `Rakefile`
21
+
22
+ %hr
23
+
24
+ %ul.Tasks
25
+ - tasks.each do |task|
26
+ %li.Task
27
+ .Task_header
28
+ %h3.Task_name
29
+ Name
30
+ %span.Task_description
31
+ = task.name
32
+ .Task_header
33
+ %h3.Task_name
34
+ Description
35
+ %span.Task_description
36
+ :markdown
37
+ #{task.comment}
38
+ .Task_header
39
+ %h3.Task_name
40
+ Prerequisites
41
+ %span.Task_description
42
+ :markdown
43
+ #{task.prerequisite_tasks.map(&:name).inspect}
44
+ .Task_actions
45
+ .Task_actions-button
46
+ %form{ action: "/#{task.name}", method: :post }
47
+ - unless task.arg_names.empty?
48
+ %fieldset
49
+ %legend Arguments
50
+ - task.arg_names.each do |arg_name|
51
+ - if task.has_options_for?(arg_name)
52
+ %select.Task_action-input{ name: "args[#{arg_name}]" }
53
+ - task.options[arg_name].each do |arg_option|
54
+ %option{ value: arg_option }= arg_option
55
+ - else
56
+ %input.Task_action-input{ type: "text", name: "args[#{arg_name}]", placeholder: arg_name }
57
+ %input{ value: "Run Task", type: "submit" }
@@ -0,0 +1,30 @@
1
+ !!! 5
2
+ %html{ lang: "en" }
3
+ %head
4
+ %meta{ charset: "utf-8" }
5
+ %title
6
+ Webrake
7
+ %link{ href: "/stylesheets/application.css", media: "all", rel: "stylesheet" }
8
+
9
+ %body
10
+ %nav.Webrake
11
+ %h1
12
+ &mdash; A web GUI for your Rake tasks
13
+
14
+ %section.Container
15
+
16
+ .Wrapper
17
+
18
+ %h2.Introduction
19
+ Output of
20
+ %code= task.name
21
+
22
+ %hr
23
+
24
+ %pre.Task_output
25
+ %code#Task_output-content{ :"data-stream-id" => stream_id }
26
+
27
+ %hr
28
+ %a{ href: "/" } &larr; Back to List
29
+
30
+ %script{ src: "/javascripts/application.js" }
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'webtask/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "webtask"
8
+ spec.version = Webtask::VERSION
9
+ spec.authors = ["Yakshed / Dirk Breuer"]
10
+ spec.email = ["yakshed@breuer.io"]
11
+
12
+ spec.summary = %q{Provides a web GUI for your Rake tasks.}
13
+ spec.description = %q{Rake files are great when dealing with other devs. Which know Ruby. For all others a Rakefile is not very accessible. With webtask you can now make it accessible. Webtask will generate a nice web GUI for your Rakefile.}
14
+ spec.homepage = "https://github.com/yakshed/webtask"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_dependency "sinatra", "~> 1.4.7"
23
+ spec.add_dependency "rake"
24
+ spec.add_dependency "thin", "~> 1.7.0"
25
+ spec.add_dependency "haml", "~> 4.0.7"
26
+ spec.add_dependency "markdown", "~> 1.2.0"
27
+
28
+ spec.add_development_dependency "bundler", "~> 1.12"
29
+ spec.add_development_dependency "rspec", "~> 3.0"
30
+ spec.add_development_dependency "bourbon", "~> 4.2.7"
31
+ spec.add_development_dependency "neat", "~> 1.8.0"
32
+ spec.add_development_dependency "bitters", "~> 1.2.0"
33
+ spec.add_development_dependency "pry", "~> 0.10"
34
+ end
metadata ADDED
@@ -0,0 +1,339 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: webtask
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Yakshed / Dirk Breuer
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-11-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sinatra
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.4.7
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.4.7
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: thin
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.7.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.7.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: haml
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 4.0.7
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 4.0.7
69
+ - !ruby/object:Gem::Dependency
70
+ name: markdown
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.2.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.2.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.12'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.12'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: bourbon
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 4.2.7
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 4.2.7
125
+ - !ruby/object:Gem::Dependency
126
+ name: neat
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 1.8.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 1.8.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: bitters
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.2.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.2.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: pry
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.10'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0.10'
167
+ description: Rake files are great when dealing with other devs. Which know Ruby. For
168
+ all others a Rakefile is not very accessible. With webtask you can now make it accessible.
169
+ Webtask will generate a nice web GUI for your Rakefile.
170
+ email:
171
+ - yakshed@breuer.io
172
+ executables:
173
+ - webtask
174
+ extensions: []
175
+ extra_rdoc_files: []
176
+ files:
177
+ - ".gitignore"
178
+ - ".rspec"
179
+ - ".travis.yml"
180
+ - CODE_OF_CONDUCT.md
181
+ - CONTRIBUTING.md
182
+ - Gemfile
183
+ - Gemfile.lock
184
+ - LICENSE
185
+ - README.md
186
+ - Rakefile
187
+ - bin/console
188
+ - bin/setup
189
+ - example/Rakefile
190
+ - example/test.log
191
+ - exe/webtask
192
+ - lib/webtask.rb
193
+ - lib/webtask/application.rb
194
+ - lib/webtask/public/javascripts/application.js
195
+ - lib/webtask/public/stylesheets/application.css
196
+ - lib/webtask/public/stylesheets/application.css.map
197
+ - lib/webtask/public/stylesheets/sass/application.scss
198
+ - lib/webtask/public/stylesheets/sass/base/_base.scss
199
+ - lib/webtask/public/stylesheets/sass/base/_buttons.scss
200
+ - lib/webtask/public/stylesheets/sass/base/_forms.scss
201
+ - lib/webtask/public/stylesheets/sass/base/_grid-settings.scss
202
+ - lib/webtask/public/stylesheets/sass/base/_lists.scss
203
+ - lib/webtask/public/stylesheets/sass/base/_tables.scss
204
+ - lib/webtask/public/stylesheets/sass/base/_typography.scss
205
+ - lib/webtask/public/stylesheets/sass/base/_variables.scss
206
+ - lib/webtask/public/stylesheets/sass/bourbon/_bourbon-deprecated-upcoming.scss
207
+ - lib/webtask/public/stylesheets/sass/bourbon/_bourbon.scss
208
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_border-color.scss
209
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_border-radius.scss
210
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_border-style.scss
211
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_border-width.scss
212
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_buttons.scss
213
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_clearfix.scss
214
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_ellipsis.scss
215
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_font-stacks.scss
216
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_hide-text.scss
217
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_margin.scss
218
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_padding.scss
219
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_position.scss
220
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_prefixer.scss
221
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_retina-image.scss
222
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_size.scss
223
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_text-inputs.scss
224
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_timing-functions.scss
225
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_triangle.scss
226
+ - lib/webtask/public/stylesheets/sass/bourbon/addons/_word-wrap.scss
227
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_animation.scss
228
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_appearance.scss
229
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_backface-visibility.scss
230
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_background-image.scss
231
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_background.scss
232
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_border-image.scss
233
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_calc.scss
234
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_columns.scss
235
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_filter.scss
236
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_flex-box.scss
237
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_font-face.scss
238
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_font-feature-settings.scss
239
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_hidpi-media-query.scss
240
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_hyphens.scss
241
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_image-rendering.scss
242
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_keyframes.scss
243
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_linear-gradient.scss
244
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_perspective.scss
245
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_placeholder.scss
246
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_radial-gradient.scss
247
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_selection.scss
248
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_text-decoration.scss
249
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_transform.scss
250
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_transition.scss
251
+ - lib/webtask/public/stylesheets/sass/bourbon/css3/_user-select.scss
252
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_assign-inputs.scss
253
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_contains-falsy.scss
254
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_contains.scss
255
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_is-length.scss
256
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_is-light.scss
257
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_is-number.scss
258
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_is-size.scss
259
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_modular-scale.scss
260
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_px-to-em.scss
261
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_px-to-rem.scss
262
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_shade.scss
263
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_strip-units.scss
264
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_tint.scss
265
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_transition-property-name.scss
266
+ - lib/webtask/public/stylesheets/sass/bourbon/functions/_unpack.scss
267
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_convert-units.scss
268
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_directional-values.scss
269
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_font-source-declaration.scss
270
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_gradient-positions-parser.scss
271
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-angle-parser.scss
272
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-gradient-parser.scss
273
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-positions-parser.scss
274
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_linear-side-corner-parser.scss
275
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_radial-arg-parser.scss
276
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_radial-gradient-parser.scss
277
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_radial-positions-parser.scss
278
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_render-gradients.scss
279
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_shape-size-stripper.scss
280
+ - lib/webtask/public/stylesheets/sass/bourbon/helpers/_str-to-num.scss
281
+ - lib/webtask/public/stylesheets/sass/bourbon/settings/_asset-pipeline.scss
282
+ - lib/webtask/public/stylesheets/sass/bourbon/settings/_prefixer.scss
283
+ - lib/webtask/public/stylesheets/sass/bourbon/settings/_px-to-em.scss
284
+ - lib/webtask/public/stylesheets/sass/neat/_neat-helpers.scss
285
+ - lib/webtask/public/stylesheets/sass/neat/_neat.scss
286
+ - lib/webtask/public/stylesheets/sass/neat/functions/_new-breakpoint.scss
287
+ - lib/webtask/public/stylesheets/sass/neat/functions/_private.scss
288
+ - lib/webtask/public/stylesheets/sass/neat/grid/_box-sizing.scss
289
+ - lib/webtask/public/stylesheets/sass/neat/grid/_direction-context.scss
290
+ - lib/webtask/public/stylesheets/sass/neat/grid/_display-context.scss
291
+ - lib/webtask/public/stylesheets/sass/neat/grid/_fill-parent.scss
292
+ - lib/webtask/public/stylesheets/sass/neat/grid/_media.scss
293
+ - lib/webtask/public/stylesheets/sass/neat/grid/_omega.scss
294
+ - lib/webtask/public/stylesheets/sass/neat/grid/_outer-container.scss
295
+ - lib/webtask/public/stylesheets/sass/neat/grid/_pad.scss
296
+ - lib/webtask/public/stylesheets/sass/neat/grid/_private.scss
297
+ - lib/webtask/public/stylesheets/sass/neat/grid/_row.scss
298
+ - lib/webtask/public/stylesheets/sass/neat/grid/_shift.scss
299
+ - lib/webtask/public/stylesheets/sass/neat/grid/_span-columns.scss
300
+ - lib/webtask/public/stylesheets/sass/neat/grid/_to-deprecate.scss
301
+ - lib/webtask/public/stylesheets/sass/neat/grid/_visual-grid.scss
302
+ - lib/webtask/public/stylesheets/sass/neat/mixins/_clearfix.scss
303
+ - lib/webtask/public/stylesheets/sass/neat/settings/_disable-warnings.scss
304
+ - lib/webtask/public/stylesheets/sass/neat/settings/_grid.scss
305
+ - lib/webtask/public/stylesheets/sass/neat/settings/_visual-grid.scss
306
+ - lib/webtask/rake_application.rb
307
+ - lib/webtask/stream_error.rb
308
+ - lib/webtask/stream_out.rb
309
+ - lib/webtask/task_runner.rb
310
+ - lib/webtask/task_wrapper.rb
311
+ - lib/webtask/version.rb
312
+ - lib/webtask/views/index.haml
313
+ - lib/webtask/views/result.haml
314
+ - webtask.gemspec
315
+ homepage: https://github.com/yakshed/webtask
316
+ licenses:
317
+ - MIT
318
+ metadata: {}
319
+ post_install_message:
320
+ rdoc_options: []
321
+ require_paths:
322
+ - lib
323
+ required_ruby_version: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ required_rubygems_version: !ruby/object:Gem::Requirement
329
+ requirements:
330
+ - - ">="
331
+ - !ruby/object:Gem::Version
332
+ version: '0'
333
+ requirements: []
334
+ rubyforge_project:
335
+ rubygems_version: 2.5.1
336
+ signing_key:
337
+ specification_version: 4
338
+ summary: Provides a web GUI for your Rake tasks.
339
+ test_files: []