sporkmonger-sax-machine 0.1.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.
@@ -0,0 +1,2 @@
1
+ --diff
2
+ --color
@@ -0,0 +1,7 @@
1
+ spec_dir = File.expand_path(File.dirname(__FILE__))
2
+ lib_dir = File.expand_path(File.join(spec_dir, '../lib'))
3
+
4
+ $:.unshift(lib_dir)
5
+ $:.uniq!
6
+
7
+ require 'sax-machine'
@@ -0,0 +1,2 @@
1
+ desc 'Remove all build products'
2
+ task 'clobber'
@@ -0,0 +1,69 @@
1
+ require 'rake/gempackagetask'
2
+
3
+ namespace :gem do
4
+ GEM_SPEC = Gem::Specification.new do |s|
5
+ unless s.respond_to?(:add_development_dependency)
6
+ puts 'The gem spec requires a newer version of RubyGems.'
7
+ exit(1)
8
+ end
9
+
10
+ s.name = PKG_NAME
11
+ s.version = PKG_VERSION
12
+ s.author = PKG_AUTHOR
13
+ s.email = PKG_AUTHOR_EMAIL
14
+ s.homepage = PKG_HOMEPAGE
15
+ s.summary = PKG_SUMMARY
16
+ s.description = PKG_DESCRIPTION
17
+
18
+ s.files = PKG_FILES.to_a
19
+
20
+ s.has_rdoc = true
21
+ s.extra_rdoc_files = %w( README.md )
22
+ s.rdoc_options.concat ['--main', 'README.md']
23
+
24
+ s.add_runtime_dependency('nokogiri', '~> 1.4.4')
25
+
26
+ s.add_development_dependency('rake', '~> 0.8.3')
27
+ s.add_development_dependency('rspec', '~> 1.1.11')
28
+ s.add_development_dependency('launchy', '~> 0.3.2')
29
+ s.add_development_dependency('diff-lcs', '~> 1.1.2')
30
+
31
+ s.require_path = 'lib'
32
+ end
33
+
34
+ Rake::GemPackageTask.new(GEM_SPEC) do |p|
35
+ p.gem_spec = GEM_SPEC
36
+ p.need_tar = true
37
+ p.need_zip = true
38
+ end
39
+
40
+ desc 'Show information about the gem'
41
+ task :debug do
42
+ puts GEM_SPEC.to_ruby
43
+ end
44
+
45
+ desc 'Install the gem'
46
+ task :install => ['clobber', 'gem:package'] do
47
+ sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}"
48
+ end
49
+
50
+ desc 'Uninstall the gem'
51
+ task :uninstall do
52
+ installed_list = Gem.source_index.find_name(PKG_NAME)
53
+ if installed_list &&
54
+ (installed_list.collect { |s| s.version.to_s}.include?(PKG_VERSION))
55
+ sh(
56
+ "#{SUDO} gem uninstall --version '#{PKG_VERSION}' " +
57
+ "--ignore-dependencies --executables #{PKG_NAME}"
58
+ )
59
+ end
60
+ end
61
+
62
+ desc 'Reinstall the gem'
63
+ task :reinstall => [:uninstall, :install]
64
+ end
65
+
66
+ desc 'Alias to gem:package'
67
+ task 'gem' => 'gem:package'
68
+
69
+ task 'clobber' => ['gem:clobber_package']
@@ -0,0 +1,40 @@
1
+ namespace :git do
2
+ namespace :tag do
3
+ desc 'List tags from the Git repository'
4
+ task :list do
5
+ tags = `git tag -l`
6
+ tags.gsub!("\r", '')
7
+ tags = tags.split("\n").sort {|a, b| b <=> a }
8
+ puts tags.join("\n")
9
+ end
10
+
11
+ desc 'Create a new tag in the Git repository'
12
+ task :create do
13
+ changelog = File.open('CHANGELOG', 'r') { |file| file.read }
14
+ puts '-' * 80
15
+ puts changelog
16
+ puts '-' * 80
17
+ puts
18
+
19
+ v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
20
+ abort "Versions don't match #{v} vs #{PKG_VERSION}" if v != PKG_VERSION
21
+
22
+ tag = "#{PKG_NAME}-#{PKG_VERSION}"
23
+ msg = "Release #{PKG_NAME}-#{PKG_VERSION}"
24
+
25
+ existing_tags = `git tag -l #{PKG_NAME}-*`.split("\n")
26
+ if existing_tags.include?(tag)
27
+ warn('Tag already exists, deleting...')
28
+ unless system "git tag -d #{tag}"
29
+ abort 'Tag deletion failed.'
30
+ end
31
+ end
32
+ puts "Creating git tag '#{tag}'..."
33
+ unless system "git tag -a -m \"#{msg}\" #{tag}"
34
+ abort 'Tag creation failed.'
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ task 'gem:release' => 'git:tag:create'
@@ -0,0 +1,22 @@
1
+ namespace :metrics do
2
+ task :lines do
3
+ lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
4
+ for file_name in FileList['lib/**/*.rb']
5
+ f = File.open(file_name)
6
+ while line = f.gets
7
+ lines += 1
8
+ next if line =~ /^\s*$/
9
+ next if line =~ /^\s*#/
10
+ codelines += 1
11
+ end
12
+ puts "L: #{sprintf('%4d', lines)}, " +
13
+ "LOC #{sprintf('%4d', codelines)} | #{file_name}"
14
+ total_lines += lines
15
+ total_codelines += codelines
16
+
17
+ lines, codelines = 0, 0
18
+ end
19
+
20
+ puts "Total: Lines #{total_lines}, LOC #{total_codelines}"
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ require 'rake/rdoctask'
2
+
3
+ namespace :doc do
4
+ desc 'Generate RDoc documentation'
5
+ Rake::RDocTask.new do |rdoc|
6
+ rdoc.rdoc_dir = 'doc'
7
+ rdoc.title = "#{PKG_NAME}-#{PKG_VERSION} Documentation"
8
+ rdoc.options << '--line-numbers' << '--inline-source' <<
9
+ '--accessor' << 'cattr_accessor=object' << '--charset' << 'utf-8'
10
+ rdoc.template = "#{ENV['template']}.rb" if ENV['template']
11
+ rdoc.rdoc_files.include('README', 'CHANGELOG', 'LICENSE')
12
+ rdoc.rdoc_files.include('lib/**/*.rb')
13
+ end
14
+
15
+ desc 'Generate ri locally for testing'
16
+ task :ri do
17
+ sh 'rdoc --ri -o ri .'
18
+ end
19
+
20
+ desc 'Remove ri products'
21
+ task :clobber_ri do
22
+ rm_r 'ri' rescue nil
23
+ end
24
+ end
25
+
26
+ task 'clobber' => ['doc:clobber_rdoc', 'doc:clobber_ri']
@@ -0,0 +1,70 @@
1
+ require 'spec/rake/verify_rcov'
2
+
3
+ namespace :spec do
4
+ Spec::Rake::SpecTask.new(:rcov) do |t|
5
+ t.spec_files = FileList['spec/**/*_spec.rb']
6
+ t.spec_opts = ['--color', '--format', 'specdoc']
7
+ if RCOV_ENABLED
8
+ if `which rcov`.strip == ''
9
+ STDERR.puts 'Please install rcov:'
10
+ STDERR.puts 'sudo gem install relevance-rcov'
11
+ exit(1)
12
+ end
13
+ t.rcov = true
14
+ else
15
+ t.rcov = false
16
+ end
17
+ t.rcov_opts = [
18
+ '--exclude', 'spec',
19
+ '--exclude', '\\.rvm\\/gems',
20
+ '--exclude', '1\\.8\\/gems',
21
+ '--exclude', '1\\.9\\/gems',
22
+ '--exclude', '\\.rvm'
23
+ ]
24
+ end
25
+
26
+ Spec::Rake::SpecTask.new(:normal) do |t|
27
+ t.spec_files = FileList['spec/**/*_spec.rb']
28
+ t.spec_opts = ['--color', '--format', 'specdoc']
29
+ t.rcov = false
30
+ end
31
+
32
+ if RCOV_ENABLED
33
+ RCov::VerifyTask.new(:verify) do |t|
34
+ t.threshold = 100.0
35
+ t.index_html = 'coverage/index.html'
36
+ end
37
+
38
+ task :verify => :rcov
39
+ end
40
+
41
+ desc 'Generate HTML Specdocs for all specs'
42
+ Spec::Rake::SpecTask.new(:specdoc) do |t|
43
+ specdoc_path = File.expand_path(
44
+ File.join(File.dirname(__FILE__), '../specdoc/'))
45
+ Dir.mkdir(specdoc_path) if !File.exist?(specdoc_path)
46
+
47
+ output_file = File.join(specdoc_path, 'index.html')
48
+ t.spec_files = FileList['spec/**/*_spec.rb']
49
+ t.spec_opts = ['--format', "\"html:#{output_file}\"", '--diff']
50
+ t.fail_on_error = false
51
+ end
52
+
53
+ namespace :rcov do
54
+ desc 'Browse the code coverage report.'
55
+ task :browse => 'spec:rcov' do
56
+ require 'launchy'
57
+ Launchy::Browser.run('coverage/index.html')
58
+ end
59
+ end
60
+ end
61
+
62
+ if RCOV_ENABLED
63
+ desc 'Alias to spec:verify'
64
+ task 'spec' => 'spec:verify'
65
+ else
66
+ desc 'Alias to spec:normal'
67
+ task 'spec' => 'spec:normal'
68
+ end
69
+
70
+ task 'clobber' => ['spec:clobber_rcov']
@@ -0,0 +1,26 @@
1
+ require 'rake'
2
+
3
+ begin
4
+ require 'yard'
5
+ require 'yard/rake/yardoc_task'
6
+
7
+ namespace :doc do
8
+ desc 'Generate Yardoc documentation'
9
+ YARD::Rake::YardocTask.new do |yardoc|
10
+ yardoc.name = 'yard'
11
+ yardoc.options = ['--verbose']
12
+ yardoc.files = [
13
+ 'lib/**/*.rb', 'ext/**/*.c', 'README', 'CHANGELOG', 'LICENSE'
14
+ ]
15
+ end
16
+ end
17
+
18
+ task 'clobber' => ['doc:clobber_yard']
19
+
20
+ desc 'Alias to doc:yard'
21
+ task 'doc' => 'doc:yard'
22
+ rescue LoadError
23
+ # If yard isn't available, it's not the end of the world
24
+ desc 'Alias to doc:rdoc'
25
+ task 'doc' => 'doc:rdoc'
26
+ end
metadata ADDED
@@ -0,0 +1,175 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sporkmonger-sax-machine
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Paul Dix
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-07 00:00:00 -08:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: nokogiri
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 15
30
+ segments:
31
+ - 1
32
+ - 4
33
+ - 4
34
+ version: 1.4.4
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rake
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 57
46
+ segments:
47
+ - 0
48
+ - 8
49
+ - 3
50
+ version: 0.8.3
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 5
62
+ segments:
63
+ - 1
64
+ - 1
65
+ - 11
66
+ version: 1.1.11
67
+ type: :development
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: launchy
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ hash: 23
78
+ segments:
79
+ - 0
80
+ - 3
81
+ - 2
82
+ version: 0.3.2
83
+ type: :development
84
+ version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ name: diff-lcs
87
+ prerelease: false
88
+ requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ hash: 23
94
+ segments:
95
+ - 1
96
+ - 1
97
+ - 2
98
+ version: 1.1.2
99
+ type: :development
100
+ version_requirements: *id005
101
+ description: |
102
+ A declarative sax parsing library backed by Nokogiri.
103
+
104
+ email: paul@pauldix.net
105
+ executables: []
106
+
107
+ extensions: []
108
+
109
+ extra_rdoc_files:
110
+ - README.md
111
+ files:
112
+ - lib/sax-machine/ns_stack.rb
113
+ - lib/sax-machine/sax_collection_config.rb
114
+ - lib/sax-machine/sax_config.rb
115
+ - lib/sax-machine/sax_document.rb
116
+ - lib/sax-machine/sax_element_config.rb
117
+ - lib/sax-machine/sax_event_recorder.rb
118
+ - lib/sax-machine/sax_handler.rb
119
+ - lib/sax-machine/version.rb
120
+ - lib/sax-machine.rb
121
+ - spec/benchmarks/amazon.xml
122
+ - spec/benchmarks/benchmark.rb
123
+ - spec/benchmarks/public_timeline.xml
124
+ - spec/sax-machine/atom.xml
125
+ - spec/sax-machine/sax_document_spec.rb
126
+ - spec/spec.opts
127
+ - spec/spec_helper.rb
128
+ - tasks/clobber.rake
129
+ - tasks/gem.rake
130
+ - tasks/git.rake
131
+ - tasks/metrics.rake
132
+ - tasks/rdoc.rake
133
+ - tasks/spec.rake
134
+ - tasks/yard.rake
135
+ - CHANGELOG
136
+ - LICENSE
137
+ - Rakefile
138
+ - README.md
139
+ has_rdoc: true
140
+ homepage: https://github.com/sporkmonger/sax-machine
141
+ licenses: []
142
+
143
+ post_install_message:
144
+ rdoc_options:
145
+ - --main
146
+ - README.md
147
+ require_paths:
148
+ - lib
149
+ required_ruby_version: !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ hash: 3
155
+ segments:
156
+ - 0
157
+ version: "0"
158
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
+ none: false
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ hash: 3
164
+ segments:
165
+ - 0
166
+ version: "0"
167
+ requirements: []
168
+
169
+ rubyforge_project:
170
+ rubygems_version: 1.4.1
171
+ signing_key:
172
+ specification_version: 3
173
+ summary: A declarative sax parsing library backed by Nokogiri.
174
+ test_files: []
175
+