munge 0.10.0 → 0.11.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.
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