warningshot 0.9.4 → 0.9.5

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.
Files changed (51) hide show
  1. data/CHANGELOG +8 -0
  2. data/CONTRIBUTORS +2 -1
  3. data/README +86 -6
  4. data/Rakefile +4 -3
  5. data/TODO +1 -147
  6. data/bin/warningshot +11 -7
  7. data/lib/resolvers/core_lib_resolver.rb +2 -3
  8. data/lib/resolvers/directory_resolver.rb +1 -1
  9. data/lib/resolvers/file_resolver.rb +35 -17
  10. data/lib/resolvers/gem_resolver.rb +81 -60
  11. data/lib/resolvers/integrity_resolver.rb +10 -11
  12. data/lib/resolvers/manual_resolver.rb +15 -3
  13. data/lib/resolvers/permission_resolver.rb +6 -8
  14. data/lib/resolvers/symlink_resolver.rb +13 -8
  15. data/lib/resolvers/url_resolver.rb +28 -41
  16. data/lib/warningshot.rb +10 -7
  17. data/lib/warningshot/config.rb +254 -0
  18. data/lib/{warning_shot → warningshot}/dependency_resolver.rb +38 -17
  19. data/lib/{warning_shot → warningshot}/growl.rb +2 -0
  20. data/lib/{warning_shot → warningshot}/logger.rb +2 -0
  21. data/lib/{warning_shot → warningshot}/resolver.rb +177 -89
  22. data/lib/warningshot/suite.rb +4 -0
  23. data/lib/{warning_shot → warningshot}/template_generator.rb +4 -1
  24. data/lib/{warning_shot → warningshot}/version.rb +3 -1
  25. data/lib/warningshot/warning_shot.rb +187 -0
  26. data/tasks/gemspec.rb +3 -16
  27. data/tasks/yard.rb +1 -1
  28. data/templates/gems.yml +1 -0
  29. data/test/data/faux_test.yml +5 -0
  30. data/test/data/faux_test_resolver.rb +21 -0
  31. data/test/data/mock_resolver.rb +11 -5
  32. data/test/log/warningshot.log +3051 -532
  33. data/test/spec/unit/resolvers/core_lib_resolver_spec.rb +1 -1
  34. data/test/spec/unit/resolvers/directory_resolver_spec.rb +1 -1
  35. data/test/spec/unit/resolvers/file_resolver_spec.rb +9 -13
  36. data/test/spec/unit/resolvers/gem_resolver_spec.rb +108 -32
  37. data/test/spec/unit/resolvers/integrity_resolver_spec.rb +6 -6
  38. data/test/spec/unit/resolvers/permission_resolver_spec.rb +2 -2
  39. data/test/spec/unit/resolvers/symlink_resolver_spec.rb +8 -1
  40. data/test/spec/unit/resolvers/url_resolver_spec.rb +10 -10
  41. data/test/spec/unit/warningshot/config_spec.rb +57 -0
  42. data/test/spec/unit/{warning_shot → warningshot}/dependency_resolver_spec.rb +18 -9
  43. data/test/spec/unit/{warning_shot → warningshot}/resolver_spec.rb +54 -79
  44. data/test/spec/unit/{warning_shot → warningshot}/template_generator_spec.rb +1 -1
  45. data/test/spec/unit/{warning_shot → warningshot}/version_spec.rb +0 -0
  46. data/test/spec/unit/{warning_shot → warningshot}/warning_shot_spec.rb +0 -0
  47. metadata +24 -26
  48. data/lib/warning_shot/config.rb +0 -132
  49. data/lib/warning_shot/warning_shot.rb +0 -130
  50. data/test/spec/spec.opts.zoiks +0 -0
  51. data/test/spec/unit/warning_shot/config_spec.rb +0 -35
@@ -1,130 +0,0 @@
1
- module WarningShot
2
- BeforeCallbacks= []
3
- AfterCallbacks = []
4
-
5
- PATHS = {
6
- :templates => 'templates',
7
- :images => 'images',
8
- :resolvers => 'lib' / 'warning_shot' / 'resolvers'
9
- }
10
-
11
- ConfigExt = "*.{yml,yaml}".freeze
12
-
13
- class << self
14
- def root
15
- File.expand_path(File.dirname(__FILE__)) / ".." / ".."
16
- end
17
-
18
- def hostname
19
- `hostname`.strip
20
- end
21
-
22
- # Gets the absolute path for a resource.
23
- # if it is not listed in PATHS then the string is appended to
24
- # WarningShot.root
25
- #
26
- # @param dir [Symbol]
27
- # directory to look up
28
- #
29
- # @return [String]
30
- # absolute path to resource
31
- #
32
- # @api public
33
- def dir_for(dir)
34
- dir = PATHS[dir.to_sym] || dir.to_s
35
- WarningShot.root / dir
36
- end
37
-
38
- def platform
39
- case ::Config::CONFIG['host_os']
40
- when /darwin/i: :mac
41
- when /mswin|windows/i: :windows
42
- when /linux/i: :linux
43
- when /sunos|solaris/i: :solaris
44
- else
45
- :unknown
46
- end
47
- end
48
-
49
- # the application/framework warningshot is running in
50
- # uses constants to determine
51
- #
52
- # @return [String] Name of framework/application
53
- # @api public
54
- def framework
55
- if defined?(RAILS_ROOT)
56
- return "RAILS"
57
- elsif defined?(Merb)
58
- return "MERB"
59
- else
60
- return "CONSOLE"
61
- end
62
- end
63
-
64
- # shortcut to current environment
65
- #
66
- # @return [String] name of the environment
67
- # @api public
68
- def environment
69
- WarningShot::Config.configuration[:environment]
70
- end
71
-
72
- # Parser used to parse Config hash
73
- #
74
- # @api private
75
- def parser
76
- @opt_parser ||= OptionParser.new
77
- end
78
-
79
- # register a callback to be run before starting
80
- # the dependency resolver
81
- # @param block [Proc]
82
- # the before filter
83
- # @api public
84
- def before(&block)
85
- BeforeCallbacks << block if block_given?
86
- end
87
-
88
- # register a callback to be run after starting
89
- # the dependency resolver
90
- # @param block [Proc]
91
- # the after filter
92
- # @api public
93
- def after(&block)
94
- AfterCallbacks << block if block_given?
95
- end
96
-
97
- # creates and runs a new dependency resolver
98
- #
99
- # @return WarningShot::DependencyResolver
100
- # a processed dependency resolver
101
- #
102
- # @api public
103
- def fire!
104
- WarningShot.load_app
105
- WarningShot.load_addl_resolvers
106
- ws_dr = DependencyResolver.new WarningShot::Config.configuration
107
- BeforeCallbacks.each {|p| p.call }
108
- ws_dr.run
109
- AfterCallbacks.each {|p| p.call }
110
-
111
- ws_dr
112
- end
113
- alias :run :fire!
114
-
115
- # Changes the working directory to that of the application
116
- # Default application is '.'
117
- def load_app
118
- Dir.chdir(WarningShot::Config[:application])
119
- end
120
-
121
- # Loads any additional resolvers specified by --resolvers= or WarningShot::Config[:resolvers]
122
- # defaults to ~/.warningshot/*.rb
123
- def load_addl_resolvers
124
- WarningShot::Config[:resolvers].each do |resolver_path|
125
- Dir[File.expand_path(resolver_path)].each {|r| load r}
126
- end
127
- end
128
-
129
- end
130
- end
File without changes
@@ -1,35 +0,0 @@
1
- describe WarningShot::Config do
2
-
3
- it 'should provide access to configuration' do
4
- WarningShot::Config.respond_to? :configuration
5
- end
6
-
7
- it 'should be able to parse an ARGV string' do
8
- args = ['--no-verbose','--resolve','--environment=rspec_test','-g','-aRspecTest']
9
- WarningShot::Config.parse_args(args)
10
- WarningShot::Config.configuration[:verbose].should be(false)
11
- WarningShot::Config.configuration[:resolve].should be(true)
12
- WarningShot::Config.configuration[:environment].should == 'rspec_test'
13
- WarningShot::Config.configuration[:growl].should be(true)
14
- WarningShot::Config.configuration[:application].should == 'RspecTest'
15
- end
16
-
17
- it 'should provide defaults' do
18
- WarningShot::Config.defaults.class.should be(Hash)
19
- end
20
-
21
- it 'should allow access like a hash' do
22
- WarningShot::Config.respond_to?(:[]).should be(true)
23
- WarningShot::Config.respond_to?(:[]=).should be(true)
24
- end
25
-
26
- it 'should allow configurations to be changed with a block' do
27
- WarningShot::Config.use do|c|
28
- c[:growl] = true
29
- c[:resolve]= true
30
- end
31
-
32
- WarningShot::Config[:growl].should be(true)
33
- WarningShot::Config[:resolve].should be(true)
34
- end
35
- end