tarpaulin 0.2.3 → 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.
data/Gemfile CHANGED
@@ -12,6 +12,7 @@ source "http://rubygems.org"
12
12
 
13
13
  gem 'tilt', '~> 1.3.1' # https://github.com/rtomayko/tilt
14
14
  gem 'lazy', '~> 0.9.6' # http://moonbase.rydia.net/software/lazy.rb/
15
+ gem 'rack-flash' # https://github.com/nakajima/rack-flash
15
16
  # gem 'erubis', '~> 2.7.0' # http://www.kuwata-lab.com/erubis/
16
17
 
17
18
  # Add dependencies to develop your gem here.
data/README.rdoc CHANGED
@@ -1,8 +1,8 @@
1
- = kommons
1
+ = Tarpaulin
2
2
 
3
- Description goes here.
3
+ My small attempt to make the world a better place to live in.
4
4
 
5
- == Contributing to kommons
5
+ == Contributing to Tarpaulin
6
6
 
7
7
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
8
  * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.3.0
data/lib/tarpaulin.rb CHANGED
@@ -16,17 +16,17 @@ require "bundler/setup"
16
16
  # it's got a long name, nothing will conflict
17
17
  # http://grosser.it/2009/07/01/getting-the-caller-method-in-ruby/
18
18
  # this is like parse_caller() in ActionMailer apparently
19
- module Kernel
19
+ module Context
20
20
 
21
21
  # return [n, dirname, filename or context, line num, self, function]
22
- def determine_context (skip=1, &block)
22
+ def self.determine(skip=1, &block)
23
23
  begin
24
24
  # cheat, just in case it is nil, rather than handling that special case for now
25
25
  # cuz it's always possible to call a func that takes a block without an actual block :(
26
26
  # i suppose i could raise an ExpectingBlock Error
27
27
  b = block.send(:binding)
28
28
  snarf = caller(0)[skip] # defaults to 1
29
- # [0] is us --- ["../y_ruby/c.rb:9:in `determine_context'",
29
+ # [0] is us --- ["../y_ruby/c.rb:9:in `determine'",
30
30
  #err "caller(): #{snarf.inspect}"
31
31
  matched = /^(.+?)[:](\d+)(.*)$/.match(snarf) # +? non-greedy
32
32
  #err "matched /^(.+?)[:](\d+)(.*)$/: #{matched}"
@@ -62,7 +62,7 @@ module Kernel
62
62
  #raise NameError.new("odd name found in backtrace -- " + context)
63
63
  end # case
64
64
  end # begin
65
- end # determine_context()
65
+ end # determine()
66
66
 
67
67
  end # module Kernel
68
68
 
@@ -82,7 +82,7 @@ end # module Kernel
82
82
  class File
83
83
 
84
84
  def File.here (string)
85
- return determine_context(2){}[:path] + '/' + string
85
+ return Context::determine(2){}[:path] + '/' + string
86
86
  end
87
87
 
88
88
  end
@@ -106,4 +106,6 @@ end
106
106
  require File.here "tarpaulin/logger"
107
107
  require File.here "tarpaulin/endless"
108
108
  require File.here "tarpaulin/camping"
109
+ require File.here "tarpaulin/camping/flash"
110
+ require File.here "tarpaulin/camping/filter"
109
111
  require File.here "tarpaulin/tilt/clearsilver_template"
@@ -16,10 +16,11 @@ module Tarpaulin
16
16
  @@link
17
17
  end
18
18
 
19
+ # check for Context, only show a.inspect in dev mode
19
20
  def r403(f=nil, &block)
20
21
  #$stderr.puts "in 403"
21
22
  h = {'Content-Type' => 'text/html; charset=utf-8'}
22
- a = eval("determine_context{}", block)
23
+ a = eval("Context::determine{}", block)
23
24
  if f.nil?
24
25
  f = block.call
25
26
  end
@@ -32,7 +33,7 @@ module Tarpaulin
32
33
  def r404(f=nil, &block) # compat with Camping
33
34
  #$stderr.puts "in 404"
34
35
  h = {'Content-Type' => 'text/html; charset=utf-8'}
35
- a = eval("determine_context{}", block)
36
+ a = eval("Context::determine{}", block)
36
37
  if f.nil?
37
38
  f = block.call
38
39
  end
@@ -76,8 +77,31 @@ module Tarpaulin
76
77
  end
77
78
 
78
79
  def stylesheet_link_tag(stylish)
79
- type = "text/css"
80
- href = stylish.start_with?("http") ? "#{stylish}" : R(Tarpaulin.link_controller, @root, Tarpaulin::Helpers::CSS, "#{stylish}.css")
80
+
81
+ href = if stylish.start_with?("http")
82
+ "#{stylish}"
83
+ else
84
+ type = "text/css"
85
+ # $stderr.puts @root.inspect
86
+ if @root.length > 0 and @root[0] == '/'
87
+ root = @root.reverse.chop!.reverse
88
+ else
89
+ root = @root
90
+ end
91
+ # $stderr.puts root
92
+ if root and root.length > 0
93
+ r = R(Tarpaulin.link_controller, root, Tarpaulin::Helpers::CSS, "#{stylish}.css")
94
+ r2 = R(Tarpaulin.link_controller, Tarpaulin::Helpers::CSS, "#{stylish}.css")
95
+ else
96
+ r = R(Tarpaulin.link_controller, Tarpaulin::Helpers::CSS, "#{stylish}.css")
97
+ r2 = nil
98
+ end
99
+ # $stderr.puts r.inspect
100
+ # $stderr.puts r2.inspect
101
+ r
102
+ end
103
+ # $stderr.puts href
104
+
81
105
  Markaby::Builder.new.capture {
82
106
  link :rel => "stylesheet",
83
107
  :type => type,
@@ -87,8 +111,31 @@ module Tarpaulin
87
111
  end
88
112
 
89
113
  def javascript_link_tag(scriptish)
90
- type = "text/javascript"
91
- src = scriptish.start_with?("http") ? "#{scriptish}" : R(Tarpaulin.link_controller, @root, Tarpaulin::Helpers::JS, "#{scriptish}.js")
114
+
115
+ src = if scriptish.start_with?("http")
116
+ "#{scriptish}"
117
+ else
118
+ type = "text/javascript"
119
+ # $stderr.puts @root.inspect
120
+ if @root.length > 0 and @root[0] == '/'
121
+ root = @root.reverse.chop!.reverse
122
+ else
123
+ root = @root
124
+ end
125
+ # $stderr.puts root
126
+ if root and root.length > 0
127
+ r = R(Tarpaulin.link_controller, root, Tarpaulin::Helpers::JS, "#{scriptish}.js")
128
+ r2 = R(Tarpaulin.link_controller, Tarpaulin::Helpers::JS, "#{scriptish}.js")
129
+ else
130
+ r = R(Tarpaulin.link_controller, Tarpaulin::Helpers::JS, "#{scriptish}.js")
131
+ r2 = nil
132
+ end
133
+ # $stderr.puts r.inspect
134
+ # $stderr.puts r2.inspect
135
+ r
136
+ end
137
+ # $stderr.puts src
138
+
92
139
  Markaby::Builder.new.capture {
93
140
  script(:type => type, :src => src) {}
94
141
  }
@@ -0,0 +1,49 @@
1
+ #
2
+ # include the CampingFilters module in TheApp
3
+ #
4
+ module CampingFilters
5
+ module ClassMethods
6
+ def filters
7
+ @filters ||= {:before => [], :after => []}
8
+ end
9
+
10
+ def before(actions, &blk)
11
+ actions = [actions] unless actions.is_a?(Array)
12
+ actions.each do |action|
13
+ filters[:before] << [action, blk]
14
+ end
15
+ end
16
+
17
+ def after(actions, &blk)
18
+ actions = [actions] unless actions.is_a?(Array)
19
+ actions.each do |action|
20
+ filters[:after] << [action, blk]
21
+ end
22
+ end
23
+ end # ClassMethods
24
+
25
+ def self.included(mod)
26
+ mod.extend(ClassMethods)
27
+ end
28
+
29
+ def run_filters(type)
30
+ o = self.class.to_s.split("::")
31
+ filters = Object.const_get(o.first).filters
32
+ filters[type].each do |filter|
33
+ if (filter[0].is_a?(Symbol) && (filter[0] == o.last.to_sym || filter[0] == :all)) ||
34
+ (filter[0].is_a?(String) && /^#{filter[0]}\/?$/ =~ @env.REQUEST_URI)
35
+ self.instance_eval(&filter[1])
36
+ end
37
+ end
38
+ end
39
+
40
+ def service(*a) # params to controllers, ids n stuff
41
+ override_self = catch(:halt) do
42
+ run_filters(:before)
43
+ override_self = super(*a)
44
+ run_filters(:after)
45
+ override_self
46
+ end
47
+ override_self
48
+ end
49
+ end
@@ -0,0 +1,54 @@
1
+ #
2
+ # monkey patch Camping to work with rack-flash
3
+ #
4
+ # include the CampingFlash module in TheApp
5
+ #
6
+ # => Use ClassName.instance_eval to define class methods.
7
+ # => Use ClassName.class_eval to define instance methods.
8
+ #
9
+ module CampingFlash
10
+
11
+ def self.included(base)
12
+ Camping::H.class_eval do
13
+ def diff(other)
14
+ self.keys.inject({}) do |memo, key|
15
+ unless self[key] == other[key]
16
+ memo[key] = [self[key], other[key]]
17
+ end
18
+ memo
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ def to_a #:nodoc:
25
+ if @state.respond_to? :diff
26
+ diff = @_state.diff(@state)
27
+ diff.each {|k,v| @env['rack.session'].delete(k) }
28
+ end
29
+ super
30
+ end
31
+
32
+ def to_a #:nodoc:
33
+ # overwrite the session with how @state is now
34
+ # depeding on whether diff is defined for H or not
35
+ if @state.respond_to? :diff
36
+ @env['rack.session'].merge! Hash[@state]
37
+ else
38
+ @env['rack.session'] = Hash[@state]
39
+ end
40
+ r = Rack::Response.new(@body, @status, @headers)
41
+ @cookies._n.each do |k, v|
42
+ r.set_cookie(k, v)
43
+ end
44
+ r.to_a
45
+ end
46
+
47
+ def initialize(env, m) #:nodoc:
48
+ super(env,m)
49
+ @_state = @state.clone
50
+ end
51
+
52
+ end
53
+
54
+ #Camping::Cookies[r.cookies], SimpleDelegator.new(Camping::H)[r.session.to_hash],
@@ -1,10 +1,15 @@
1
1
  require 'logger'
2
+ require 'singleton'
2
3
 
3
- class Logger
4
+ require 'pry'
5
+
6
+ class ContextLogger < Logger
7
+
8
+ include Singleton
4
9
 
5
10
  def self.format_block # implicit
6
11
  the_proc = Proc.new # capture it
7
- context = eval("determine_context{}", the_proc) # eval can take a Proc obj or a Binding
12
+ context = eval("Context::determine{}", the_proc) # eval can take a Proc obj or a Binding
8
13
  result = the_proc.call # invoke it
9
14
  klass = 'nil' # can it be??
10
15
  # puts context[:self].inspect
@@ -30,20 +35,27 @@ class Logger
30
35
  end
31
36
 
32
37
  %w(debug info warn error fatal).each do |sev|
33
- orig_method = ('orig_'+sev).to_sym
34
38
  method = sev.to_sym
35
- alias_method( orig_method, method)
36
- class_eval <<-"END"
37
- def #{method}
38
- output = Logger.format_block(&Proc.new)
39
- #{orig_method}(output)
39
+ class_eval <<-EOT, __FILE__, __LINE__
40
+ def #{method}(msg=nil, &block)
41
+ if block
42
+ output = ContextLogger.format_block(&block)
43
+ super(@progname){output}
44
+ else
45
+ super(msg)
46
+ end
47
+ rescue
48
+ $stderr.puts "Oh deary me. Error in ContextLogger: "+$!.inspect
40
49
  end
41
- END
50
+ EOT
51
+ end
52
+
53
+ def initialize(stream=STDOUT)
54
+ # DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
55
+ level=Logger::DEBUG
56
+ super(stream)
42
57
  end
43
58
 
44
59
  end
45
60
 
46
- $logger = Logger.new(STDOUT)
47
- $logger.level = Logger::DEBUG
48
- # DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
49
-
61
+ $L = ContextLogger.instance
@@ -8,6 +8,7 @@ require 'tilt/template'
8
8
  # Tilt.register :rhtml, Tilt[:erubis]
9
9
 
10
10
  require 'neo'
11
+ require 'pry'
11
12
 
12
13
  module Tilt
13
14
  # ClearSilver implementation. See:
@@ -15,7 +16,8 @@ module Tilt
15
16
  class ClearSilverTemplate < Tilt::Template
16
17
 
17
18
  def self.engine_initialized?
18
- defined? ::ClearSilver
19
+ # defined? ::ClearSilver
20
+ defined? ::Neo::Cs
19
21
  end
20
22
 
21
23
  def initialize_engine
@@ -34,8 +36,8 @@ module Tilt
34
36
  def additive_parsing? ; additive_parsing end
35
37
 
36
38
  def debug # implicit
37
- if $logger
38
- #$logger.debug(&Proc.new) # pass it along
39
+ if $L
40
+ #$L.debug(&Proc.new) # pass it along
39
41
  end
40
42
  end
41
43
 
@@ -51,7 +53,7 @@ module Tilt
51
53
  @additive_parsing = false
52
54
  end
53
55
  end
54
-
56
+
55
57
  def evaluate(scope, locals, &block)
56
58
 
57
59
  debug { scope }
@@ -59,8 +61,20 @@ module Tilt
59
61
  debug { block }
60
62
  if block
61
63
  hd = block.call
64
+ #obj = scope
65
+ #method = :fooish
66
+ debug { scope.methods.sort }
67
+ e = scope.instance_variable_get(:@env)
68
+ debug {e}
69
+ m = scope.instance_variable_get(:@method)
70
+ debug {m}
71
+ pack = [e, m]
72
+ obj = scope.class.parent
73
+ debug {obj}
74
+ method = :dispatch
62
75
  else
63
76
  hd = scope
77
+ obj = nil
64
78
  end
65
79
  if ClearSilverTemplate.old_api
66
80
  debug { "#2" }
@@ -76,7 +90,12 @@ module Tilt
76
90
  debug { "#3" }
77
91
  @engine = Neo::Cs.new # CS Ruby API, revamped
78
92
  @engine.use hd # CS Ruby/C API
93
+ if obj
94
+ @engine.register_fileload(obj, method, pack)
95
+ # @engine.register_fileload(obj, method, locals) # call before parse_x, should use splat
96
+ end
79
97
  @engine.parse_string @data # CS C API
98
+ #binding.pry
80
99
  end
81
100
  @output = @engine.render # it's actually called render in CS C API
82
101
  end
data/tarpaulin.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "tarpaulin"
8
- s.version = "0.2.3"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Anthony Durity"]
12
- s.date = "2011-10-13"
12
+ s.date = "2011-10-29"
13
13
  s.description = "So I don't have to copy and paste a million times."
14
14
  s.email = "github@jollyrotten.org"
15
15
  s.extra_rdoc_files = [
@@ -25,12 +25,14 @@ Gem::Specification.new do |s|
25
25
  "VERSION",
26
26
  "lib/tarpaulin.rb",
27
27
  "lib/tarpaulin/camping.rb",
28
+ "lib/tarpaulin/camping/filter.rb",
29
+ "lib/tarpaulin/camping/flash.rb",
28
30
  "lib/tarpaulin/endless.rb",
29
31
  "lib/tarpaulin/logger.rb",
30
32
  "lib/tarpaulin/tilt/clearsilver_template.rb",
31
33
  "tarpaulin.gemspec",
32
34
  "test/helper.rb",
33
- "test/test_kommons.rb"
35
+ "test/test_tarpaulin.rb"
34
36
  ]
35
37
  s.homepage = "http://github.com/igravious/tarpaulin"
36
38
  s.licenses = ["GPLv3"]
@@ -44,6 +46,7 @@ Gem::Specification.new do |s|
44
46
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
47
  s.add_runtime_dependency(%q<tilt>, ["~> 1.3.1"])
46
48
  s.add_runtime_dependency(%q<lazy>, ["~> 0.9.6"])
49
+ s.add_runtime_dependency(%q<rack-flash>, [">= 0"])
47
50
  s.add_development_dependency(%q<shoulda>, ["~> 2.11.1"])
48
51
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
49
52
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.1"])
@@ -52,6 +55,7 @@ Gem::Specification.new do |s|
52
55
  else
53
56
  s.add_dependency(%q<tilt>, ["~> 1.3.1"])
54
57
  s.add_dependency(%q<lazy>, ["~> 0.9.6"])
58
+ s.add_dependency(%q<rack-flash>, [">= 0"])
55
59
  s.add_dependency(%q<shoulda>, ["~> 2.11.1"])
56
60
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
57
61
  s.add_dependency(%q<jeweler>, ["~> 1.6.1"])
@@ -61,6 +65,7 @@ Gem::Specification.new do |s|
61
65
  else
62
66
  s.add_dependency(%q<tilt>, ["~> 1.3.1"])
63
67
  s.add_dependency(%q<lazy>, ["~> 0.9.6"])
68
+ s.add_dependency(%q<rack-flash>, [">= 0"])
64
69
  s.add_dependency(%q<shoulda>, ["~> 2.11.1"])
65
70
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
66
71
  s.add_dependency(%q<jeweler>, ["~> 1.6.1"])
@@ -1,6 +1,6 @@
1
1
  require 'helper'
2
2
 
3
- class TestKommons < Test::Unit::TestCase
3
+ class TestTarpaulin < Test::Unit::TestCase
4
4
  should "probably rename this file and start testing for real" do
5
5
  flunk "hey buddy, you should probably rename this file and start testing for real"
6
6
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tarpaulin
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
9
8
  - 3
10
- version: 0.2.3
9
+ - 0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Anthony Durity
@@ -15,12 +15,9 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-13 00:00:00 Z
18
+ date: 2011-10-29 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- name: tilt
23
- type: :runtime
24
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
25
22
  none: false
26
23
  requirements:
@@ -32,11 +29,11 @@ dependencies:
32
29
  - 3
33
30
  - 1
34
31
  version: 1.3.1
35
- requirement: *id001
36
- - !ruby/object:Gem::Dependency
32
+ name: tilt
37
33
  prerelease: false
38
- name: lazy
39
34
  type: :runtime
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
40
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
41
38
  none: false
42
39
  requirements:
@@ -48,12 +45,26 @@ dependencies:
48
45
  - 9
49
46
  - 6
50
47
  version: 0.9.6
48
+ name: lazy
49
+ prerelease: false
50
+ type: :runtime
51
51
  requirement: *id002
52
52
  - !ruby/object:Gem::Dependency
53
- prerelease: false
54
- name: shoulda
55
- type: :development
56
53
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ name: rack-flash
63
+ prerelease: false
64
+ type: :runtime
65
+ requirement: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
57
68
  none: false
58
69
  requirements:
59
70
  - - ~>
@@ -64,12 +75,12 @@ dependencies:
64
75
  - 11
65
76
  - 1
66
77
  version: 2.11.1
67
- requirement: *id003
68
- - !ruby/object:Gem::Dependency
78
+ name: shoulda
69
79
  prerelease: false
70
- name: bundler
71
80
  type: :development
72
- version_requirements: &id004 !ruby/object:Gem::Requirement
81
+ requirement: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
73
84
  none: false
74
85
  requirements:
75
86
  - - ~>
@@ -80,12 +91,12 @@ dependencies:
80
91
  - 0
81
92
  - 0
82
93
  version: 1.0.0
83
- requirement: *id004
84
- - !ruby/object:Gem::Dependency
94
+ name: bundler
85
95
  prerelease: false
86
- name: jeweler
87
96
  type: :development
88
- version_requirements: &id005 !ruby/object:Gem::Requirement
97
+ requirement: *id005
98
+ - !ruby/object:Gem::Dependency
99
+ version_requirements: &id006 !ruby/object:Gem::Requirement
89
100
  none: false
90
101
  requirements:
91
102
  - - ~>
@@ -96,12 +107,12 @@ dependencies:
96
107
  - 6
97
108
  - 1
98
109
  version: 1.6.1
99
- requirement: *id005
100
- - !ruby/object:Gem::Dependency
110
+ name: jeweler
101
111
  prerelease: false
102
- name: rcov
103
112
  type: :development
104
- version_requirements: &id006 !ruby/object:Gem::Requirement
113
+ requirement: *id006
114
+ - !ruby/object:Gem::Dependency
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements:
107
118
  - - ~>
@@ -112,12 +123,12 @@ dependencies:
112
123
  - 9
113
124
  - 7
114
125
  version: 0.9.7
115
- requirement: *id006
116
- - !ruby/object:Gem::Dependency
126
+ name: rcov
117
127
  prerelease: false
118
- name: rdoc
119
128
  type: :development
120
- version_requirements: &id007 !ruby/object:Gem::Requirement
129
+ requirement: *id007
130
+ - !ruby/object:Gem::Dependency
131
+ version_requirements: &id008 !ruby/object:Gem::Requirement
121
132
  none: false
122
133
  requirements:
123
134
  - - ~>
@@ -128,7 +139,10 @@ dependencies:
128
139
  - 9
129
140
  - 1
130
141
  version: 3.9.1
131
- requirement: *id007
142
+ name: rdoc
143
+ prerelease: false
144
+ type: :development
145
+ requirement: *id008
132
146
  description: So I don't have to copy and paste a million times.
133
147
  email: github@jollyrotten.org
134
148
  executables: []
@@ -147,12 +161,14 @@ files:
147
161
  - VERSION
148
162
  - lib/tarpaulin.rb
149
163
  - lib/tarpaulin/camping.rb
164
+ - lib/tarpaulin/camping/filter.rb
165
+ - lib/tarpaulin/camping/flash.rb
150
166
  - lib/tarpaulin/endless.rb
151
167
  - lib/tarpaulin/logger.rb
152
168
  - lib/tarpaulin/tilt/clearsilver_template.rb
153
169
  - tarpaulin.gemspec
154
170
  - test/helper.rb
155
- - test/test_kommons.rb
171
+ - test/test_tarpaulin.rb
156
172
  homepage: http://github.com/igravious/tarpaulin
157
173
  licenses:
158
174
  - GPLv3