warningshot 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
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