munge 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6ef4f6aa3511f357ea838f1e30c792b3b757085
4
- data.tar.gz: 7de2b59499e68f7103b41ffca7b37abba081fc99
3
+ metadata.gz: 73fdb1d0c438b5ae814e7c09fe7d3ea7516b1986
4
+ data.tar.gz: 9c691b2ccac2ffe871fdb654856ba70003538d86
5
5
  SHA512:
6
- metadata.gz: 0490502833ed6d0fb9f3cd0a5e59ebc0688c80b82a10c3545c65925d56ca95cda25f47cbed70aa8e7152c01e92f91eefedc06f255572d0c980e15e885ea79c3d
7
- data.tar.gz: 4fb54bc28f7657bd8419ecba6cf67a124d167f7f2ec32851a4618e34c9218b5cd5c1cc6bf1b3a4698b50ad42161e9e24cc9d99dc7b509cc613fc8a0a7f7193b4
6
+ metadata.gz: a4d895246116728a131ad6c9ccfb0f5c3e1737b0492a60b707d2f628a6e4bdb82cd7f4d675028fb92eb9645a3e096a9fc88d713a48b929c1126263823f33740c
7
+ data.tar.gz: d8678cf6f83de2e45d46379d396941f209f8d7355862a4384d1aa1a17db0e961d5a2ade08d8d8d67528ab3d529e4c6c9b3ab44c2a25d39eabdce7023a440056d
@@ -2,22 +2,26 @@ module Munge
2
2
  module Cli
3
3
  module Commands
4
4
  class Build
5
- def initialize(bootloader, dry_run:, reporter:)
5
+ def initialize(bootloader, dry_run:, reporter:, verbosity:, build_root: nil)
6
6
  destination_root = bootloader.root_path
7
- config = bootloader.config
8
- @app = application(bootloader)
7
+ config = bootloader.config
8
+ app = application(bootloader)
9
+ destination = File.expand_path(build_root || config[:output], destination_root)
9
10
 
10
- runner =
11
+ @runner =
11
12
  Munge::Runner.new(
12
- items: @app.vomit(:items),
13
- router: @app.vomit(:router),
14
- alterant: @app.vomit(:alterant),
13
+ items: app.vomit(:items),
14
+ router: app.vomit(:router),
15
+ alterant: app.vomit(:alterant),
15
16
  writer: writer(dry_run),
16
- reporter: reporter(reporter),
17
- destination: File.expand_path(config[:output], destination_root)
17
+ formatter: formatter(reporter),
18
+ verbosity: verbosity.to_sym,
19
+ destination: destination
18
20
  )
21
+ end
19
22
 
20
- runner.write
23
+ def call
24
+ @runner.write
21
25
  end
22
26
 
23
27
  private
@@ -36,8 +40,8 @@ module Munge
36
40
  end
37
41
  end
38
42
 
39
- def reporter(class_name)
40
- Munge::Reporters.const_get(class_name).new
43
+ def formatter(class_name)
44
+ Munge::Formatters.const_get(class_name).new
41
45
  end
42
46
  end
43
47
  end
@@ -0,0 +1,42 @@
1
+ module Munge
2
+ module Cli
3
+ module Commands
4
+ class Init
5
+ include Thor::Base
6
+ include Thor::Actions
7
+
8
+ def self.source_root
9
+ File.expand_path("../../../../../seeds", __FILE__)
10
+ end
11
+
12
+ def initialize(path)
13
+ self.options = {}
14
+ self.destination_root = File.expand_path(path)
15
+ end
16
+
17
+ def call
18
+ directory(".", destination_root)
19
+
20
+ inside(destination_root) do
21
+ run_bundle("install")
22
+ run_bundle("binstub munge")
23
+ end
24
+ end
25
+
26
+ private
27
+
28
+ def run_bundle(command)
29
+ if Gem::Specification.find_all_by_name("bundler").any?
30
+ say_status :run, "bundle #{command}"
31
+
32
+ require "bundler"
33
+
34
+ ::Bundler.with_clean_env do
35
+ system("bundle #{command}")
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,43 @@
1
+ module Munge
2
+ module Cli
3
+ module Commands
4
+ class Server
5
+ def initialize(bootloader)
6
+ @bootloader = bootloader
7
+ @listener = listener
8
+ end
9
+
10
+ def call
11
+ @listener.start
12
+
13
+ system("munge build")
14
+
15
+ system("munge view")
16
+ rescue Interrupt
17
+ @listener.stop
18
+ end
19
+
20
+ private
21
+
22
+ def listener
23
+ require "listen"
24
+
25
+ listen = Listen.to(@bootloader.root_path) do
26
+ system("munge build")
27
+ end
28
+
29
+ ignore(listen, ENV["BUILD_ROOT"])
30
+ ignore(listen, @bootloader.config[:output])
31
+
32
+ listen
33
+ end
34
+
35
+ def ignore(listener, pattern)
36
+ if pattern
37
+ listener.ignore(/^#{pattern}/)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -28,18 +28,29 @@ module Munge
28
28
  module Cli
29
29
  module Commands
30
30
  class View
31
- def initialize(bootloader, host:, port:)
31
+ def initialize(bootloader, host:, port:, build_root: nil)
32
32
  config = bootloader.config
33
+ @host = host
34
+ @port = port
35
+ root = File.expand_path(build_root || config[:output], bootloader.root_path)
33
36
 
34
- app =
37
+ @app =
35
38
  Rack::Builder.new do
36
39
  use Rack::ShowExceptions
37
40
  use Rack::Head
38
- use Adsf::Rack::IndexFileFinder, root: config[:output]
39
- run Rack::File.new(config[:output])
41
+ use Adsf::Rack::IndexFileFinder, root: root
42
+ run Rack::File.new(root)
40
43
  end
44
+ end
45
+
46
+ def call
47
+ Signal.trap("INT") do
48
+ # Prints a newline after the terminal prints `^C`
49
+ puts
50
+ Rack::Handler::WEBrick.shutdown
51
+ end
41
52
 
42
- Rack::Handler::WEBrick.run(app, Host: host, Port: port)
53
+ Rack::Handler::WEBrick.run(@app, Host: @host, Port: @port)
43
54
  end
44
55
  end
45
56
  end
@@ -1,36 +1,36 @@
1
- require "thor"
2
-
3
1
  module Munge
4
2
  module Cli
5
3
  class Dispatch < Thor
6
- include Thor::Actions
7
-
8
- def self.source_root
9
- File.expand_path("../../../../seeds", __FILE__)
10
- end
11
-
12
4
  desc "init PATH", "Create new site at PATH"
13
5
  def init(path)
14
- directory ".", path
15
-
16
- inside(path) do
17
- run_bundle("install")
18
- run_bundle("binstub munge")
19
- end
6
+ Commands::Init.new(path).call
20
7
  end
21
8
 
22
- desc "build", "Build in current directory"
23
- method_option :reporter, desc: "Set reporter", default: "Default", type: :string
24
- method_option :dry_run, desc: "Run without writing files", default: false, type: :boolean
9
+ desc "build", "Build site"
10
+ method_option :reporter, desc: "Set reporting formatter", default: "Default", type: :string
11
+ method_option :dry_run, desc: "Run without writing files", default: false, type: :boolean
12
+ method_option :verbosity, aliases: "-v", desc: "Preferred amount of output", enum: %w(all written silent), default: "written", type: :string
25
13
  def build
26
- Commands::Build.new(bootloader, symbolized_options)
14
+ ENV["MUNGE_ENV"] ||= "production"
15
+
16
+ Commands::Build.new(bootloader, **symbolized_options, build_root: ENV["BUILD_ROOT"]).call
27
17
  end
28
18
 
29
19
  desc "view", "View built files"
30
20
  method_option :port, aliases: "-p", desc: "Set port", default: 7000, type: :numeric
31
21
  method_option :host, aliases: "-h", desc: "Set host", default: "0.0.0.0", type: :string
32
22
  def view
33
- Commands::View.new(bootloader, symbolized_options)
23
+ ENV["MUNGE_ENV"] ||= "production"
24
+
25
+ Commands::View.new(bootloader, **symbolized_options, build_root: ENV["BUILD_ROOT"]).call
26
+ end
27
+
28
+ desc "server", "Run the development server"
29
+ def server
30
+ ENV["MUNGE_ENV"] ||= "development"
31
+ ENV["BUILD_ROOT"] ||= "tmp/development-build"
32
+
33
+ Commands::Server.new(bootloader).call
34
34
  end
35
35
 
36
36
  desc "version", "Print version"
@@ -48,18 +48,6 @@ module Munge
48
48
  def symbolized_options
49
49
  Munge::Util::SymbolHash.deep_convert(options)
50
50
  end
51
-
52
- def run_bundle(command)
53
- if Gem::Specification::find_all_by_name("bundler").any?
54
- say_status :run, "bundle #{command}"
55
-
56
- require "bundler"
57
-
58
- ::Bundler.with_clean_env do
59
- system("bundle #{command}")
60
- end
61
- end
62
- end
63
51
  end
64
52
  end
65
53
  end
data/lib/munge/cli.rb CHANGED
@@ -1,5 +1,11 @@
1
- require "munge/cli/dispatch"
1
+ require "rainbow"
2
+ require "thor"
3
+
4
+ require "munge/cli/commands/init"
2
5
  require "munge/cli/commands/build"
3
6
  require "munge/cli/commands/view"
7
+ require "munge/cli/commands/server"
8
+ require "munge/cli/dispatch"
4
9
 
5
- require "munge/reporters/default"
10
+ require "munge/formatters/default"
11
+ require "munge/formatters/dots"
@@ -0,0 +1,73 @@
1
+ module Munge
2
+ module Formatters
3
+ class Default
4
+ def initialize
5
+ @new_count = 0
6
+ @changed_count = 0
7
+ @identical_count = 0
8
+ @reported_count = 0
9
+ end
10
+
11
+ def call(_item, relpath, write_status, should_print)
12
+ case write_status
13
+ when :new
14
+ report_new(relpath, should_print)
15
+ when :changed
16
+ report_changed(relpath, should_print)
17
+ when :identical
18
+ report_identical(relpath, should_print)
19
+ end
20
+ end
21
+
22
+ def start
23
+ @start_time = Time.now
24
+
25
+ puts "Started build"
26
+ end
27
+
28
+ def done
29
+ @done_time = Time.now
30
+
31
+ report = [
32
+ "Wrote #{@new_count + @changed_count}",
33
+ "Processed #{@new_count + @changed_count + @identical_count}"
34
+ ]
35
+
36
+ puts report.join(", ")
37
+ puts "Took #{@done_time - @start_time} seconds"
38
+ end
39
+
40
+ private
41
+
42
+ def report_new(relpath, should_print)
43
+ @new_count += 1
44
+
45
+ if should_print
46
+ puts report(Rainbow("created").green, relpath)
47
+ end
48
+ end
49
+
50
+ def report_changed(relpath, should_print)
51
+ @changed_count += 1
52
+
53
+ if should_print
54
+ puts report(Rainbow("updated").green, relpath)
55
+ end
56
+ end
57
+
58
+ def report_identical(relpath, should_print)
59
+ @identical_count += 1
60
+
61
+ if should_print
62
+ puts report(Rainbow("identical").yellow, relpath)
63
+ end
64
+ end
65
+
66
+ def report(action, relpath)
67
+ @reported_count += 1
68
+
69
+ %(#{action.rjust(24)} #{relpath})
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,90 @@
1
+ module Munge
2
+ module Formatters
3
+ class Dots
4
+ def initialize
5
+ @counts = {
6
+ new: 0,
7
+ changed: 0,
8
+ identical: 0
9
+ }
10
+
11
+ @relpaths = {
12
+ new: [],
13
+ changed: [],
14
+ identical: []
15
+ }
16
+
17
+ @dots = {
18
+ new: Rainbow("W").green,
19
+ changed: Rainbow("W").yellow,
20
+ identical: "."
21
+ }
22
+
23
+ @total = 0
24
+ end
25
+
26
+ def call(_item, relpath, write_status, should_print)
27
+ @total += 1
28
+
29
+ @counts[write_status] += 1
30
+
31
+ if should_print
32
+ @relpaths[write_status].push(relpath)
33
+ end
34
+
35
+ print @dots[write_status]
36
+ end
37
+
38
+ def start
39
+ @start_time = Time.now
40
+
41
+ puts "Building:"
42
+ end
43
+
44
+ def done
45
+ @done_time = Time.now
46
+
47
+ # Print a newline after the line of dots
48
+ puts
49
+
50
+ list!
51
+
52
+ summary!
53
+ end
54
+
55
+ private
56
+
57
+ def list!
58
+ lists = [
59
+ [@relpaths[:new], "New items:"],
60
+ [@relpaths[:changed], "Updated items:"],
61
+ [@relpaths[:identical], "Identical items:"]
62
+ ]
63
+
64
+ lists.each do |list, title|
65
+ if list.empty?
66
+ next
67
+ end
68
+
69
+ puts
70
+ puts title
71
+ puts
72
+ puts list.join(", ")
73
+ end
74
+ end
75
+
76
+ def summary!
77
+ write_summary = [
78
+ "Created #{@counts[:new]}",
79
+ "Updated #{@counts[:changed]}",
80
+ "Ignored #{@counts[:identical]}"
81
+ ]
82
+
83
+ puts
84
+ puts "Processed #{@total} in #{@done_time - @start_time} seconds"
85
+ puts
86
+ puts write_summary.join(", ")
87
+ end
88
+ end
89
+ end
90
+ end
@@ -3,22 +3,22 @@ module Munge
3
3
  module AssetPaths
4
4
  def image_path(basename)
5
5
  item = items["#{images_root}/#{basename}"]
6
- url_for(item)
6
+ path_to(item)
7
7
  end
8
8
 
9
9
  def font_path(basename)
10
10
  item = items["#{fonts_root}/#{basename}"]
11
- url_for(item)
11
+ path_to(item)
12
12
  end
13
13
 
14
14
  def stylesheet_path(basename)
15
15
  item = items["#{stylesheets_root}/#{basename}"]
16
- url_for(item)
16
+ path_to(item)
17
17
  end
18
18
 
19
19
  def javascript_path(basename)
20
20
  item = items["#{javascripts_root}/#{basename}"]
21
- url_for(item)
21
+ path_to(item)
22
22
  end
23
23
  end
24
24
  end
@@ -1,12 +1,12 @@
1
1
  module Munge
2
2
  module Helpers
3
3
  module Link
4
- def url_for(item)
4
+ def path_to(item)
5
5
  @router.route(item)
6
6
  end
7
7
 
8
8
  def link_to(item, text = nil, opts = {})
9
- link = url_for(item)
9
+ link = path_to(item)
10
10
 
11
11
  if text.is_a?(Hash)
12
12
  opts = text
@@ -2,7 +2,7 @@ module Munge
2
2
  module Helpers
3
3
  module Tag
4
4
  def empty_tag(name, options = {})
5
- options_str = options.map { |k, v| %(#{k}="#{v}") }.join(" ")
5
+ options_str = options.map { |k, v| %(#{k}="#{h(v)}") }.join(" ")
6
6
 
7
7
  if options_str == ""
8
8
  "<#{name} />"
@@ -17,7 +17,7 @@ module Munge
17
17
  content = nil
18
18
  end
19
19
 
20
- options_str = options.map { |k, v| %(#{k}="#{v}") }.join(" ")
20
+ options_str = options.map { |k, v| %(#{k}="#{h(v)}") }.join(" ")
21
21
 
22
22
  content_str =
23
23
  if content
@@ -30,6 +30,10 @@ module Munge
30
30
 
31
31
  "<#{name} #{options_str}>#{content_str}</#{name}>"
32
32
  end
33
+
34
+ def h(string)
35
+ CGI.escape_html(string)
36
+ end
33
37
  end
34
38
  end
35
39
  end
@@ -0,0 +1,35 @@
1
+ module Munge
2
+ class Reporter
3
+ def initialize(formatter:, verbosity:)
4
+ @formatter = formatter
5
+ @verbosity = verbosity
6
+ end
7
+
8
+ def call(item, relpath, write_status)
9
+ @formatter.call(item, relpath, write_status, should_print?(write_status))
10
+ end
11
+
12
+ def start
13
+ @formatter.start
14
+ end
15
+
16
+ def done
17
+ @formatter.done
18
+ end
19
+
20
+ private
21
+
22
+ def should_print?(write_status)
23
+ case @verbosity
24
+ when :all
25
+ return true
26
+ when :written
27
+ return write_status == :new || write_status == :changed
28
+ when :silent
29
+ return false
30
+ end
31
+
32
+ false
33
+ end
34
+ end
35
+ end
data/lib/munge/runner.rb CHANGED
@@ -1,19 +1,23 @@
1
1
  module Munge
2
2
  class Runner
3
- def initialize(items:, router:, alterant:, writer:, reporter:, destination:)
3
+ def initialize(items:, router:, alterant:, writer:, formatter:, verbosity:, destination:)
4
4
  @items = items
5
5
  @router = router
6
6
  @alterant = alterant
7
7
  @writer = writer
8
- @reporter = reporter
8
+ @reporter = Munge::Reporter.new(formatter: formatter, verbosity: verbosity)
9
9
  @write_manager = Munge::WriteManager.new(driver: File)
10
10
  @destination = destination
11
11
  end
12
12
 
13
13
  def write
14
+ @reporter.start
15
+
14
16
  @items
15
17
  .reject { |item| item.route.nil? }
16
18
  .each { |item| render_and_write(item) }
19
+
20
+ @reporter.done
17
21
  end
18
22
 
19
23
  private
@@ -26,13 +30,15 @@ module Munge
26
30
  write_status = @write_manager.status(abspath, content)
27
31
 
28
32
  case write_status
29
- when :different
33
+ when :new, :changed
30
34
  @writer.write(abspath, content)
31
- when :identical, :double_write_error
32
- # we'll defer all other cases to the reporter
35
+ when :double_write_error
36
+ raise "attempted to write #{item.route} twice"
37
+ when :identical
38
+ # Defer to the reporter
33
39
  end
34
40
 
35
- @reporter.call(item, write_status)
41
+ @reporter.call(item, relpath, write_status)
36
42
  end
37
43
  end
38
44
  end
@@ -13,7 +13,7 @@ module Munge
13
13
 
14
14
  def call(item, content = nil, renderer = nil)
15
15
  scope = @pristine_scope.dup
16
- scope.instance_variable_set :@renderer, @renderer
16
+ scope.instance_variable_set(:@renderer, @renderer)
17
17
  dirty_scope = extend_with_helpers(scope)
18
18
  dirty_scope.instance_variable_set(:@tilt_options, @demands)
19
19
  dirty_scope.render_with_layout(item, content_engines: renderer, content_override: content)
@@ -28,13 +28,6 @@ module Munge
28
28
  File.basename(path)
29
29
  end
30
30
 
31
- def self.basename_one_extension(path)
32
- basename = File.basename(path)
33
- basename_parts = basename.split(".")
34
-
35
- basename_parts[0..1].join(".")
36
- end
37
-
38
31
  def self.basename_no_extension(path)
39
32
  basename = File.basename(path)
40
33
  basename_parts = basename.split(".")
data/lib/munge/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Munge
2
- VERSION = "0.10.0".freeze
2
+ VERSION = "0.11.0".freeze
3
3
  end
@@ -12,11 +12,15 @@ module Munge
12
12
 
13
13
  @write_paths.push(path)
14
14
 
15
- if @driver.exist?(path) && @driver.read(path) == content
15
+ if !@driver.exist?(path)
16
+ return :new
17
+ end
18
+
19
+ if @driver.read(path) == content
16
20
  return :identical
17
- else
18
- return :different
19
21
  end
22
+
23
+ :changed
20
24
  end
21
25
  end
22
26
  end
data/lib/munge.rb CHANGED
@@ -3,13 +3,14 @@ require "forwardable"
3
3
  require "pathname"
4
4
  require "set"
5
5
  require "yaml"
6
+ require "cgi"
6
7
 
7
8
  require "tilt"
8
9
 
9
- begin
10
- # require for development
10
+ if Gem::Specification.find_all_by_name("pry-byebug").any?
11
11
  require "pry-byebug"
12
- rescue LoadError
12
+ elsif Gem::Specification.find_all_by_name("pry").any?
13
+ require "pry"
13
14
  end
14
15
 
15
16
  # Core
@@ -32,6 +33,7 @@ require "munge/writers/noop"
32
33
  require "munge/write_manager"
33
34
  require "munge/application"
34
35
  require "munge/runner"
36
+ require "munge/reporter"
35
37
  require "munge/init"
36
38
  require "munge/bootloader"
37
39
 
data/munge.gemspec CHANGED
@@ -27,15 +27,20 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "bundler", "~> 1.9"
28
28
  spec.add_development_dependency "rake", "~> 10.0"
29
29
  spec.add_development_dependency "minitest", "~> 5.8"
30
+ spec.add_development_dependency "minitest-bisect", "~> 1.3"
31
+ spec.add_development_dependency "rack-test", "~> 0.6"
30
32
  spec.add_development_dependency "fakefs", "~> 0.6"
31
33
  spec.add_development_dependency "pry-byebug", "~> 3.3"
32
34
  spec.add_development_dependency "redcarpet", "~> 3.3"
33
35
  spec.add_development_dependency "rubocop", "~> 0.32"
36
+ spec.add_development_dependency "timecop", "~> 0.8"
34
37
  spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4"
35
38
  spec.add_development_dependency "simplecov", "~> 0.10"
36
39
 
37
40
  spec.add_runtime_dependency "adsf", "~> 1.2"
41
+ spec.add_runtime_dependency "listen", "~> 3.0", "< 3.1"
38
42
  spec.add_runtime_dependency "thor", "~> 0.19"
43
+ spec.add_runtime_dependency "rainbow", ">= 1.99.1", "< 3.0"
39
44
  spec.add_runtime_dependency "tilt", "~> 2.0"
40
45
  spec.add_runtime_dependency "sass", "~> 3.4"
41
46
  end
data/seeds/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  /dest
2
2
  /.sass-cache
3
+ /tmp
@@ -1,18 +1,23 @@
1
- system.router.register(
2
- Routers::Fingerprint.new(
3
- extensions: config[:bin_extensions] + config[:bintext_extensions],
4
- separator: config[:fingeprint_separator]
5
- ))
1
+ if ENV["MUNGE_ENV"] == "production"
2
+ system.router.register(
3
+ Routers::Fingerprint.new(
4
+ extensions: config[:bin_extensions] + config[:bintext_extensions],
5
+ separator: config[:fingeprint_separator]
6
+ ))
7
+ end
8
+
6
9
  system.router.register(
7
10
  Routers::RemoveIndexBasename.new(
8
11
  html_extensions: config[:text_extensions],
9
12
  index: config[:index]
10
13
  ))
14
+
11
15
  system.router.register(
12
16
  Routers::AddIndexHtml.new(
13
17
  html_extensions: config[:text_extensions],
14
18
  index: config[:index]
15
19
  ))
20
+
16
21
  system.router.register(
17
22
  Routers::AutoAddExtension.new(
18
23
  keep_extensions: config[:bin_extensions] + config[:bintext_extensions]
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <title><%= site_name %></title>
6
- <link rel="stylesheet" href="<%= url_for(items["assets/stylesheets/basic.css"]) %>" media="screen" charset="utf-8">
6
+ <link rel="stylesheet" href="<%= path_to(items["assets/stylesheets/basic.css"]) %>" media="screen" charset="utf-8">
7
7
  </head>
8
8
  <body>
9
9
  <div class="layout">
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: munge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Ahn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-07 00:00:00.000000000 Z
11
+ date: 2016-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.8'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest-bisect
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack-test
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.6'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.6'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: fakefs
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +136,20 @@ dependencies:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
138
  version: '0.32'
139
+ - !ruby/object:Gem::Dependency
140
+ name: timecop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.8'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.8'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: codeclimate-test-reporter
113
155
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +192,26 @@ dependencies:
150
192
  - - "~>"
151
193
  - !ruby/object:Gem::Version
152
194
  version: '1.2'
195
+ - !ruby/object:Gem::Dependency
196
+ name: listen
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '3.0'
202
+ - - "<"
203
+ - !ruby/object:Gem::Version
204
+ version: '3.1'
205
+ type: :runtime
206
+ prerelease: false
207
+ version_requirements: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - "~>"
210
+ - !ruby/object:Gem::Version
211
+ version: '3.0'
212
+ - - "<"
213
+ - !ruby/object:Gem::Version
214
+ version: '3.1'
153
215
  - !ruby/object:Gem::Dependency
154
216
  name: thor
155
217
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +226,26 @@ dependencies:
164
226
  - - "~>"
165
227
  - !ruby/object:Gem::Version
166
228
  version: '0.19'
229
+ - !ruby/object:Gem::Dependency
230
+ name: rainbow
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: 1.99.1
236
+ - - "<"
237
+ - !ruby/object:Gem::Version
238
+ version: '3.0'
239
+ type: :runtime
240
+ prerelease: false
241
+ version_requirements: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: 1.99.1
246
+ - - "<"
247
+ - !ruby/object:Gem::Version
248
+ version: '3.0'
167
249
  - !ruby/object:Gem::Dependency
168
250
  name: tilt
169
251
  requirement: !ruby/object:Gem::Requirement
@@ -192,7 +274,7 @@ dependencies:
192
274
  - - "~>"
193
275
  - !ruby/object:Gem::Version
194
276
  version: '3.4'
195
- description: Documentation for this release is located in https://github.com/zachahn/munge/blob/v0.10.0/README.md
277
+ description: Documentation for this release is located in https://github.com/zachahn/munge/blob/v0.11.0/README.md
196
278
  email:
197
279
  - zach.ahn@gmail.com
198
280
  executables:
@@ -209,8 +291,12 @@ files:
209
291
  - lib/munge/bootloader.rb
210
292
  - lib/munge/cli.rb
211
293
  - lib/munge/cli/commands/build.rb
294
+ - lib/munge/cli/commands/init.rb
295
+ - lib/munge/cli/commands/server.rb
212
296
  - lib/munge/cli/commands/view.rb
213
297
  - lib/munge/cli/dispatch.rb
298
+ - lib/munge/formatters/default.rb
299
+ - lib/munge/formatters/dots.rb
214
300
  - lib/munge/go/sass.rb
215
301
  - lib/munge/go/sass/asset_urls.rb
216
302
  - lib/munge/helpers/asset_paths.rb
@@ -222,7 +308,7 @@ files:
222
308
  - lib/munge/helpers/tag.rb
223
309
  - lib/munge/init.rb
224
310
  - lib/munge/item.rb
225
- - lib/munge/reporters/default.rb
311
+ - lib/munge/reporter.rb
226
312
  - lib/munge/routers/add_index_html.rb
227
313
  - lib/munge/routers/auto_add_extension.rb
228
314
  - lib/munge/routers/fingerprint.rb
@@ -1,19 +0,0 @@
1
- module Munge
2
- module Reporters
3
- class Default
4
- def initialize
5
- end
6
-
7
- def call(item, write_status)
8
- case write_status
9
- when :different
10
- puts "wrote #{item.route}"
11
- when :identical
12
- puts "identical #{item.route}"
13
- when :double_write_error
14
- raise "attempted to write #{item.route} twice"
15
- end
16
- end
17
- end
18
- end
19
- end