linner 0.2.0 → 0.3.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: 234c003d2a8de857346b8001b7d76f4e0e2dc1d3
4
- data.tar.gz: 5f67d62fd866da6717fa56f619be7a8613a1c859
3
+ metadata.gz: ef15c34cce7a178f1dccea701490a4ebd35f098e
4
+ data.tar.gz: c1005af018772e5356d511df2dcda0ed4b20f28f
5
5
  SHA512:
6
- metadata.gz: a78076faccfb160445dbe5c3846ba796e787c36a46c0f699f72890e0837dee3ca62f237dd0d83c00772d0eb06fe5b648dd456021c70cdce85ba5c27519726d91
7
- data.tar.gz: 2324de42bd8f6ab2fbb82a7a98b54e71fe61f20958edc4c2e798bebfe089dae86fd729c35c6813c873c607f5942703344ecfb7ef670fd19c1a59d4f271de91e8
6
+ metadata.gz: f0027951a49e9b5b3b634988aa318b6d75cb25d69510e0bf30a9207f3e6b972692694736fc2df85163baafd31e2a2cb6575f2cd0d429ba53bedcf8cf65cb2c93
7
+ data.tar.gz: 9372867370f3d80267dd95792426ef83bc7c6ff7df11fa15d9d05297c3bf6e308473def78f5dbe30290b64fa99b57c13ada21f90c5d79e1f1c8072d2ea770b0f
data/CHANGELOG ADDED
@@ -0,0 +1,4 @@
1
+ v 0.3.0
2
+ - add `compass` support
3
+ - cache now supports `styles`
4
+ - more readable config file
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- linner (0.1.5)
4
+ linner (0.2.0)
5
5
  coffee-script (~> 2.2)
6
+ compass (~> 0.12.2)
6
7
  cssminify (~> 1.0.2)
7
8
  listen (~> 1.2)
8
9
  multi_json (~> 1.7)
@@ -15,15 +16,21 @@ PATH
15
16
  GEM
16
17
  remote: https://rubygems.org/
17
18
  specs:
19
+ chunky_png (1.2.8)
18
20
  coffee-script (2.2.0)
19
21
  coffee-script-source
20
22
  execjs
21
23
  coffee-script-source (1.6.3)
24
+ compass (0.12.2)
25
+ chunky_png (~> 1.2)
26
+ fssm (>= 0.2.7)
27
+ sass (~> 3.1)
22
28
  cssminify (1.0.2)
23
29
  diff-lcs (1.2.4)
24
30
  execjs (1.4.0)
25
31
  multi_json (~> 1.0)
26
32
  ffi (1.9.0)
33
+ fssm (0.2.10)
27
34
  listen (1.2.2)
28
35
  rb-fsevent (>= 0.9.3)
29
36
  rb-inotify (>= 0.9)
data/lib/linner/asset.rb CHANGED
@@ -5,19 +5,43 @@ module Linner
5
5
 
6
6
  def initialize(path)
7
7
  @path = path
8
- @content ||= begin
8
+ if File.exist? @path
9
+ @mtime ||= File.mtime(path).to_i
10
+ end
11
+ end
12
+
13
+ def mtime
14
+ @mtime
15
+ end
16
+
17
+ def content
18
+ return @content if @content
19
+ source = begin
9
20
  File.exist?(path) ? Tilt.new(path, :default_encoding => "UTF-8").render : ""
10
21
  rescue RuntimeError
11
22
  File.read(path)
12
23
  end
24
+ if wrappable?
25
+ @content = wrap(source)
26
+ else
27
+ @content = source
28
+ end
29
+ end
30
+
31
+ def wrap(source)
32
+ Wrapper.wrap(logical_path.chomp(File.extname logical_path), source)
33
+ end
34
+
35
+ def javascript?
36
+ Tilt[path] and Tilt[path].default_mime_type == "application/javascript"
13
37
  end
14
38
 
15
- def wrap
16
- Wrapper.wrap(logical_path.chomp(File.extname logical_path), @content)
39
+ def stylesheet?
40
+ Tilt[path] and Tilt[path].default_mime_type == "text/css"
17
41
  end
18
42
 
19
43
  def wrappable?
20
- !!(@path.include? Linner.environment.app_folder and Template.template_for_script?(@path))
44
+ !!(self.javascript? and !Linner.env.modules_ignored.include?(@path))
21
45
  end
22
46
 
23
47
  def write
@@ -32,7 +56,7 @@ module Linner
32
56
  end
33
57
 
34
58
  def logical_path
35
- @logical_path ||= @path.gsub(/#{Linner.environment.app_folder}\/\w*\//, "")
59
+ @logical_path ||= @path.gsub(/#{Linner.env.paths.join("\/|")}/, "")
36
60
  end
37
61
  end
38
62
  end
@@ -17,8 +17,9 @@ module Linner
17
17
 
18
18
  desc "build", "build assets"
19
19
  def build
20
+ Linner.compile = true
20
21
  Notifier.info do
21
- Linner.perform compile: true
22
+ Linner.perform
22
23
  end
23
24
  end
24
25
 
@@ -45,7 +46,7 @@ module Linner
45
46
 
46
47
  desc "clean", "clean assets"
47
48
  def clean
48
- FileUtils.rm_rf Dir.glob("#{Linner.environment.public_folder}/*")
49
+ FileUtils.rm_rf Dir.glob("#{env.public_folder}/*")
49
50
  end
50
51
 
51
52
  desc "new", "create the skeleton of project"
@@ -54,9 +55,9 @@ module Linner
54
55
  chmod("#{name}/bin/server", 0755)
55
56
  end
56
57
 
57
- private
58
+ private
58
59
  def env
59
- Linner.environment
60
+ Linner.env
60
61
  end
61
62
  end
62
63
  end
@@ -5,9 +5,9 @@ module Linner
5
5
  class Compressor
6
6
 
7
7
  def self.compress(asset)
8
- if Template.template_for_script? asset.path
8
+ if asset.javascript?
9
9
  Uglifier.compile asset.content, comments: "none"
10
- elsif Template.template_for_style? asset.path
10
+ elsif asset.stylesheet?
11
11
  CSSminify.new.compress asset.content
12
12
  end
13
13
  end
@@ -9,6 +9,10 @@ module Linner
9
9
  @env = @convension.rmerge!(@env)
10
10
  end
11
11
 
12
+ def paths
13
+ groups.map { |group| group["paths"] }.flatten.uniq
14
+ end
15
+
12
16
  %w(app test vendor public).each do |method|
13
17
  define_method("#{method}_folder") do
14
18
  @env["paths"][method]
@@ -19,12 +23,20 @@ module Linner
19
23
  @env["notification"]
20
24
  end
21
25
 
26
+ def modules_ignored
27
+ Dir.glob(@env["modules"]["ignored"])
28
+ end
29
+
22
30
  def wrapper
23
31
  @env["modules"]["wrapper"]
24
32
  end
25
33
 
26
- def files
27
- @env["files"].values
34
+ def definition
35
+ File.join public_folder, @env["modules"]["definition"]
36
+ end
37
+
38
+ def groups
39
+ @env["groups"].values
28
40
  end
29
41
  end
30
42
  end
data/lib/linner/helper.rb CHANGED
@@ -8,13 +8,17 @@ module Linner
8
8
  end
9
9
 
10
10
  module Order
11
- def order_by(before:[], after:[])
12
- order_by_before(self, before)
13
- order_by_after(self, after)
11
+ def order_by(ary)
12
+ ary << "..." if not ary.include? "..."
13
+ order_ary = ary.inject([[]]) do |a, x|
14
+ x != "..." ? a.last << x : a<< []; a
15
+ end
16
+ order_by_before(self, order_ary.first)
17
+ order_by_after(self, order_ary.last)
14
18
  self
15
19
  end
16
20
 
17
- private
21
+ private
18
22
  def order_by_before(list, before)
19
23
  before.reverse.each do |f|
20
24
  if i = list.index {|x| x =~ /#{f}/i}
@@ -11,7 +11,7 @@ module Linner
11
11
 
12
12
  def error(message)
13
13
  puts message = "👻 : #{message}!"
14
- if Linner.environment.notification && TerminalNotifier.available?
14
+ if Linner.env.notification && TerminalNotifier.available?
15
15
  TerminalNotifier.notify message, :title => 'Linner'
16
16
  end
17
17
  end
@@ -1,5 +1,6 @@
1
1
  require "tilt"
2
2
  require "sass"
3
+ require "compass"
3
4
  require "coffee_script"
4
5
 
5
6
  module Tilt
@@ -11,21 +12,30 @@ module Tilt
11
12
  self.default_mime_type = 'text/css'
12
13
  end
13
14
 
14
- Tilt.register Tilt::CSSTemplate, "css"
15
- Tilt.register Tilt::JavascriptTemplate, "js"
16
- end
15
+ class CompassSassTemplate < SassTemplate
16
+ self.default_mime_type = 'text/css'
17
17
 
18
- module Linner
19
- class Template
18
+ private
19
+ def sass_options
20
+ super.merge(Linner.sass_engine_options)
21
+ end
22
+ end
20
23
 
21
- class << self
22
- def template_for_script?(path)
23
- Tilt[path].default_mime_type == "application/javascript"
24
- end
24
+ class CompassScssTemplate < CompassSassTemplate
25
+ self.default_mime_type = 'text/css'
25
26
 
26
- def template_for_style?(path)
27
- Tilt[path].default_mime_type == "text/css"
28
- end
27
+ private
28
+ def sass_options
29
+ super.merge(:syntax => :scss)
29
30
  end
30
31
  end
32
+
33
+ register CSSTemplate, "css"
34
+ register JavascriptTemplate, "js"
35
+
36
+ register CompassSassTemplate, "sass"
37
+ prefer CompassSassTemplate
38
+
39
+ register CompassScssTemplate, "scss"
40
+ prefer CompassScssTemplate
31
41
  end
@@ -1,15 +1,13 @@
1
1
  paths:
2
2
  public: "public"
3
- files:
3
+ groups:
4
4
  scripts:
5
5
  concat:
6
6
  "scripts/app.js": "app/**/*.{js,coffee}"
7
7
  "scripts/vendor.js": "vendor/**/*.{js,coffee}"
8
8
  order:
9
- before:
10
- - "vendor/jquery-1.10.2.js"
11
- after:
12
- - "vendor/commonjs.js"
9
+ - "vendor/jquery-1.10.2.js"
10
+ - "..."
13
11
  styles:
14
12
  concat:
15
13
  "styles/app.css": "app/styles/**/[a-z]*.{css,scss,sass}"
@@ -20,5 +18,5 @@ files:
20
18
  copy:
21
19
  "/": "app/views/**/*.{html,hbs}"
22
20
  modules:
23
- wrapper: "CMD"
21
+ wrapper: "cmd"
24
22
  notification: true
@@ -1,3 +1,3 @@
1
1
  module Linner
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -9,5 +9,9 @@ module Linner
9
9
  def self.wrap(name, content)
10
10
  WRAPPER % [name, content]
11
11
  end
12
+
13
+ def self.definition
14
+ File.read(File.join File.dirname(__FILE__), "../../vendor", "require_definition.js")
15
+ end
12
16
  end
13
17
  end
data/lib/linner.rb CHANGED
@@ -11,6 +11,8 @@ require "linner/environment"
11
11
  module Linner
12
12
  extend self
13
13
 
14
+ attr_accessor :compile
15
+
14
16
  def root
15
17
  @root ||= Pathname('.').expand_path
16
18
  end
@@ -19,52 +21,68 @@ module Linner
19
21
  @cache ||= {}
20
22
  end
21
23
 
22
- def environment
24
+ def env
23
25
  @env ||= Environment.new root.join("config.yml")
24
26
  end
25
27
 
26
- def perform(compile: false)
27
- environment.files.each do |config|
28
- concat(config, compile)
29
- copy(config)
28
+ def compile?
29
+ @compile
30
+ end
31
+
32
+ def sass_engine_options
33
+ @options ||= Compass.configuration.to_sass_engine_options
34
+ env.paths.each do |load_path|
35
+ @options[:load_paths] << Sass::Importers::Filesystem.new(load_path)
30
36
  end
37
+ @options
31
38
  end
32
39
 
33
- private
34
- def concat(config, compile)
35
- config["concat"].map do |dest, regex|
36
- matches = Dir.glob(regex).uniq.order_by(before:config["order"]["before"], after:config["order"]["after"])
37
- dest = Asset.new(File.join environment.public_folder, dest)
38
- dest.content = ""
39
- cached = matches.select do |path|
40
- mtime = File.mtime(path).to_i
41
- mtime == cache[path] ? false : cache[path] = mtime
42
- end
43
- next if cached.empty?
44
- matches.each do |m|
45
- asset = Asset.new(m)
46
- content = asset.content
47
- if asset.wrappable?
48
- content = asset.wrap
49
- end
50
- dest.content << content
51
- end
52
- dest.compress if compile
40
+ def perform(*asset)
41
+ env.groups.each do |config|
42
+ concat(config) if config["concat"]
43
+ copy(config) if config["copy"]
44
+ end
45
+ end
46
+
47
+ private
48
+ def concat(config)
49
+ config["concat"].each_with_index do |pair, index|
50
+ dest, pattern, order = pair.first, pair.last, config["order"]||[]
51
+ matches = Dir.glob(pattern).order_by(order)
52
+ next if matches.select {|p| cache_miss? p}.empty?
53
+ dest = Asset.new(File.join env.public_folder, dest)
54
+ definition = Wrapper.definition if dest.path == env.definition
55
+ dest.content = matches.inject(definition || "") {|s, m| s << cache[m].content}
56
+ dest.compress if compile?
53
57
  dest.write
54
58
  end
55
59
  end
56
60
 
57
61
  def copy(config)
58
- config["copy"].each do |dest, regex|
59
- Dir.glob(regex).each do |path|
60
- mtime = File.mtime(path).to_i
61
- next if cache[path] == mtime
62
- cache[path] = mtime
62
+ config["copy"].each do |dest, pattern|
63
+ Dir.glob(pattern).each do |path|
64
+ next if not cache_miss?(path)
63
65
  logical_path = Asset.new(path).logical_path
64
- dest_path = File.join(environment.public_folder, dest, logical_path)
66
+ dest_path = File.join(env.public_folder, dest, logical_path)
65
67
  FileUtils.mkdir_p File.dirname(dest_path)
66
68
  FileUtils.cp_r path, dest_path
67
69
  end
68
70
  end
69
71
  end
72
+
73
+ def cache_miss?(path)
74
+ asset = Asset.new(path)
75
+ if asset.stylesheet? and Tilt[path] != Tilt::CSSTemplate
76
+ partials = Sass::Engine.for_file(path, sass_engine_options).dependencies.map{|m| m.options[:filename]}
77
+ cache_missed = partials.select do |partial|
78
+ partial_asset = Asset.new(partial)
79
+ (cache[partial] and cache[partial].mtime == partial_asset.mtime) ? false : cache[partial] = partial_asset
80
+ end
81
+ unless cache_missed.empty?
82
+ cache[path] = asset
83
+ return true
84
+ end
85
+ end
86
+ (cache[path] and cache[path].mtime == asset.mtime) ? false : cache[path] = asset
87
+ end
70
88
  end
data/linner.gemspec CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_dependency "sass", "~> 3.2"
24
24
  spec.add_dependency "listen", "~> 1.2"
25
25
  spec.add_dependency "uglifier", "~> 2.1"
26
+ spec.add_dependency "compass", "~> 0.12.2"
26
27
  spec.add_dependency "multi_json", "~> 1.7"
27
28
  spec.add_dependency "cssminify", "~> 1.0.2"
28
29
  spec.add_dependency "coffee-script", "~> 2.2"
@@ -3,19 +3,22 @@ require "spec_helper"
3
3
  describe Asset do
4
4
 
5
5
  before(:each) do
6
- @asset = Asset.new("app/scripts/app.js")
6
+ @script_asset = Asset.new("app/scripts/app.js")
7
+ @style_asset = Asset.new("app/styles/app.css")
7
8
  end
8
9
 
9
- describe :logical_path do
10
- it "should be return right logical_path" do
11
- @asset.logical_path.should == "app.js"
12
- end
10
+ it "should be return right logical_path" do
11
+ @script_asset.logical_path.should == "app.js"
12
+ @style_asset.logical_path.should == "app.css"
13
13
  end
14
14
 
15
- describe :wrappable do
16
- it "should wrapperable" do
17
- @asset.wrappable?.should be_true
18
- Asset.new("app/styles/app.css").wrappable?.should be_false
19
- end
15
+ it "should be javascript" do
16
+ @script_asset.javascript?.should be_true
17
+ @style_asset.stylesheet?.should be_true
18
+ end
19
+
20
+ it "should wrapperable" do
21
+ @script_asset.wrappable?.should be_true
22
+ @style_asset.wrappable?.should be_false
20
23
  end
21
24
  end
@@ -3,29 +3,20 @@ require "spec_helper"
3
3
  describe Environment do
4
4
  before(:each) do
5
5
  @env = Environment.new(root.join "config.yml")
6
+ @ary = ["app/scripts", "app/styles", "app/images", "app/views"]
6
7
  end
7
8
 
8
- describe "convension" do
9
- it "should equals default path folder" do
10
- @env.app_folder.should == "app"
11
- @env.test_folder.should == "test"
12
- @env.vendor_folder.should == "vendor"
13
- @env.public_folder.should == "public"
14
- end
15
-
16
- it "should equals default config" do
17
- @env.notification.should be_true
18
- @env.wrapper.should == "CMD"
19
- @env.files.should respond_to(:each)
20
- end
9
+ it "should equals default path folder" do
10
+ @env.paths.should =~ @ary
11
+ @env.app_folder.should == "app"
12
+ @env.test_folder.should == "test"
13
+ @env.vendor_folder.should == "vendor"
14
+ @env.public_folder.should == "public"
15
+ end
21
16
 
22
- it "should equals default before and after" do
23
- @env.files.each do |file|
24
- file["copy"].should respond_to(:each)
25
- file["concat"].should respond_to(:each)
26
- file["order"]["before"].should respond_to(:each)
27
- file["order"]["after"].should respond_to(:each)
28
- end
29
- end
17
+ it "should equals default config" do
18
+ @env.notification.should be_true
19
+ @env.wrapper.should == "cmd"
20
+ @env.groups.should respond_to(:each)
30
21
  end
31
22
  end
@@ -5,24 +5,22 @@ describe Array do
5
5
  @array = %w[app.js jquery.js bootstrap.css reset.css vendor.js]
6
6
  end
7
7
 
8
- describe :sort do
9
- it "won't change when before and after are empty array" do
10
- @array.order_by(before:[], after:[]).should be_equal @array
11
- end
8
+ it "won't change when before and after are empty array" do
9
+ @array.order_by([]).should =~ @array
10
+ end
12
11
 
13
- it "will change by before items" do
14
- @array.order_by(before:["jquery.js", "vendor.js"], after:[])
15
- @array.should =~ %w[jquery.js vendor.js app.js bootstrap.css reset.css]
16
- end
12
+ it "will change by before items" do
13
+ @array.order_by(["jquery.js", "vendor.js"])
14
+ @array.should =~ %w[jquery.js vendor.js app.js bootstrap.css reset.css]
15
+ end
17
16
 
18
- it "will change by after items" do
19
- @array.order_by(before:[], after:["reset.css", "bootstrap.css"])
20
- @array.should =~ %w[app.js jquery.js vendor.js reset.css bootstrap.css]
21
- end
17
+ it "will change by after items" do
18
+ @array.order_by(["...", "reset.css", "bootstrap.css"])
19
+ @array.should =~ %w[app.js jquery.js vendor.js reset.css bootstrap.css]
20
+ end
22
21
 
23
- it "will change by before and after items" do
24
- @array.order_by(before:["jquery.js", "vendor.js"], after:["reset.css", "bootstrap.css"])
25
- @array.should =~ %w[jquery.js vendor.js app.js reset.css bootstrap.css]
26
- end
22
+ it "will change by before and after items" do
23
+ @array.order_by(["jquery.js", "vendor.js", "...", "reset.css", "bootstrap.css"])
24
+ @array.should =~ %w[jquery.js vendor.js app.js reset.css bootstrap.css]
27
25
  end
28
26
  end
@@ -1,26 +1,12 @@
1
1
  require "spec_helper"
2
2
 
3
- describe Template do
3
+ describe "Template" do
4
4
 
5
- describe :templates do
6
-
7
- it "should be javascript tempalate" do
8
- Tilt["app.js"].should == Tilt::JavascriptTemplate
9
- end
10
-
11
- it "should be css template" do
12
- Tilt["app.css"].should == Tilt::CSSTemplate
13
- end
14
-
15
- it "should tempalte for script" do
16
- Template.template_for_script?("app.js").should be_true
17
- Template.template_for_script?("app.coffee").should be_true
18
- end
5
+ it "should be javascript tempalate" do
6
+ Tilt["app.js"].should == Tilt::JavascriptTemplate
7
+ end
19
8
 
20
- it "should tempalte for style" do
21
- Template.template_for_style?("app.css").should be_true
22
- Template.template_for_style?("app.sass").should be_true
23
- Template.template_for_style?("app.scss").should be_true
24
- end
9
+ it "should be css template" do
10
+ Tilt["app.css"].should == Tilt::CSSTemplate
25
11
  end
26
12
  end
@@ -13,10 +13,12 @@ describe Wrapper do
13
13
  ";}});\n"
14
14
  end
15
15
 
16
- describe :wrap do
17
- it "should wrapped by wrapper" do
18
- script = Wrapper.wrap(@name, @script)
19
- script.should eq @expected_script
20
- end
16
+ it "should wrapped by wrapper" do
17
+ script = Wrapper.wrap(@name, @script)
18
+ script.should eq @expected_script
19
+ end
20
+
21
+ it "should has definition" do
22
+ Wrapper.definition.should_not be_nil
21
23
  end
22
24
  end
@@ -3,32 +3,27 @@ paths:
3
3
  test: "test"
4
4
  vendor: "vendor"
5
5
  public: "public"
6
- files:
6
+
7
+ groups:
7
8
  scripts:
8
- concat: {}
9
- copy: {}
9
+ paths:
10
+ - "app/scripts"
10
11
  order:
11
- before:
12
- - "vendor/jquery-1.10.2.js"
13
- after: []
12
+ - "vendor/jquery-1.10.2.js"
13
+ - "..."
14
14
  styles:
15
- concat: {}
16
- copy: {}
17
- order:
18
- before: []
19
- after: []
15
+ paths:
16
+ - "app/styles"
20
17
  images:
21
- concat: {}
22
- copy: {}
23
- order:
24
- before: []
25
- after: []
18
+ paths:
19
+ - "app/images"
26
20
  views:
27
- concat: {}
28
- copy: {}
29
- order:
30
- before: []
31
- after: []
21
+ paths:
22
+ - "app/views"
23
+
32
24
  modules:
33
- wrapper: "CMD"
25
+ wrapper: "cmd"
26
+ ignored: "vendor/**/*"
27
+ definition: "scripts/app.js"
28
+
34
29
  notification: true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-31 00:00:00.000000000 Z
11
+ date: 2013-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: compass
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 0.12.2
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 0.12.2
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: multi_json
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -188,6 +202,7 @@ extra_rdoc_files: []
188
202
  files:
189
203
  - .gitignore
190
204
  - .rspec
205
+ - CHANGELOG
191
206
  - Gemfile
192
207
  - Gemfile.lock
193
208
  - LICENSE
@@ -209,7 +224,6 @@ files:
209
224
  - lib/linner/templates/bin/server
210
225
  - lib/linner/templates/config.yml
211
226
  - lib/linner/templates/test/.gitkeep
212
- - lib/linner/templates/vendor/commonjs.js
213
227
  - lib/linner/templates/vendor/jquery-1.10.2.js
214
228
  - lib/linner/version.rb
215
229
  - lib/linner/wrapper.rb
@@ -224,6 +238,7 @@ files:
224
238
  - spec/spec_helper.rb
225
239
  - vendor/config.default.yml
226
240
  - vendor/livereload.js
241
+ - vendor/require_definition.js
227
242
  homepage: https://github.com/saitowu/linner
228
243
  licenses:
229
244
  - MIT