guard-docbook-status 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.
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source "http://rubygems.org"
2
+ gem "guard"
3
+ gem "docbook_status"
4
+
5
+ group :development do
6
+ gem "bones"
7
+ gem "guard"
8
+ gem "rspec"
9
+ gem 'rb-fsevent'
10
+ gem 'growl_notify'
11
+ gem 'guard-rspec'
12
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,49 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ bones (3.7.1)
5
+ little-plugger (>= 1.1.2)
6
+ loquacious (>= 1.8.1)
7
+ rake (>= 0.8.7)
8
+ diff-lcs (1.1.3)
9
+ directory_watcher (1.4.1)
10
+ docbook_status (0.4.0)
11
+ directory_watcher (>= 1.4.1)
12
+ json (>= 1.6.1)
13
+ libxml-ruby (>= 2.2.2)
14
+ term-ansicolor (>= 1.0.6)
15
+ growl_notify (0.0.3)
16
+ rb-appscript
17
+ guard (0.8.4)
18
+ thor (~> 0.14.6)
19
+ guard-rspec (0.5.0)
20
+ guard (>= 0.8.4)
21
+ json (1.6.1)
22
+ libxml-ruby (2.2.2)
23
+ little-plugger (1.1.2)
24
+ loquacious (1.9.0)
25
+ rake (0.9.2)
26
+ rb-appscript (0.6.1)
27
+ rb-fsevent (0.4.3.1)
28
+ rspec (2.6.0)
29
+ rspec-core (~> 2.6.0)
30
+ rspec-expectations (~> 2.6.0)
31
+ rspec-mocks (~> 2.6.0)
32
+ rspec-core (2.6.4)
33
+ rspec-expectations (2.6.0)
34
+ diff-lcs (~> 1.1.2)
35
+ rspec-mocks (2.6.0)
36
+ term-ansicolor (1.0.7)
37
+ thor (0.14.6)
38
+
39
+ PLATFORMS
40
+ ruby
41
+
42
+ DEPENDENCIES
43
+ bones
44
+ docbook_status
45
+ growl_notify
46
+ guard
47
+ guard-rspec
48
+ rb-fsevent
49
+ rspec
data/Guardfile ADDED
@@ -0,0 +1,6 @@
1
+ guard 'rspec', :version => 2, :cli => "--color --format nested" do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
+ watch('spec/spec_helper.rb') { "spec" }
5
+ end
6
+
data/History.txt ADDED
@@ -0,0 +1,4 @@
1
+ == 0.1.0 / 2011-10-15
2
+
3
+ * first release
4
+
data/README.md ADDED
@@ -0,0 +1,71 @@
1
+ guard-docbook-status
2
+ ===========
3
+
4
+ The docbook-status guard will watch your DocBook documents and check
5
+ their status when they change. It is meant to work with the
6
+ 'docbook_status' utility, see https://github.com/rvolz/docbook_status
7
+
8
+ Usage
9
+ --------
10
+
11
+ See the [Guard documentation](https://github.com/guard/guard#readme) for general instructions.
12
+
13
+ To start with this add-on, create your Guardfile with:
14
+
15
+ guard init docbook-status
16
+
17
+ Then change the resulting Guardfile, if necessary. The standard Guardfile looks like this:
18
+
19
+ guard 'docbook-status', :cli => '--remarks myproject.xml' do
20
+ watch(/.+\.xml$/i)
21
+ end
22
+
23
+ To adapt the Guardfile to your requirements:
24
+
25
+ * change the _cli_ option. It can contain all options that you would normally use to start docbook_status.
26
+ * change the _watch_ statement. The regular expression currently looks for changes in all XML files. A change there would trigger the processing by docbook_status.
27
+
28
+ Install
29
+ -------
30
+
31
+ Since you are reading this, it is assumed that you have docbook_status already installed. Since this is a Guard add-on, you'll need also [Guard](https://github.com/guard/guard) to be installed.
32
+
33
+ Then install this add-on with
34
+
35
+ gem install guard-docbook-status
36
+
37
+ or add it to your Gemfile
38
+
39
+ gem 'guard-docbook-status'
40
+
41
+
42
+ Author
43
+ ------
44
+
45
+ Original author: Rainer Volz
46
+
47
+ License
48
+ -------
49
+
50
+ (The MIT License)
51
+
52
+ Copyright (c) 2011 Rainer Volz
53
+
54
+ Permission is hereby granted, free of charge, to any person obtaining
55
+ a copy of this software and associated documentation files (the
56
+ 'Software'), to deal in the Software without restriction, including
57
+ without limitation the rights to use, copy, modify, merge, publish,
58
+ distribute, sublicense, and/or sell copies of the Software, and to
59
+ permit persons to whom the Software is furnished to do so, subject to
60
+ the following conditions:
61
+
62
+ The above copyright notice and this permission notice shall be
63
+ included in all copies or substantial portions of the Software.
64
+
65
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
66
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
67
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
68
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
69
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
70
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
71
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,20 @@
1
+
2
+ begin
3
+ require 'bones'
4
+ rescue LoadError
5
+ abort '### Please install the "bones" gem ###'
6
+ end
7
+
8
+ task :default => 'spec'
9
+ task 'gem:release' => 'spec'
10
+
11
+ Bones {
12
+ name 'guard-docbook-status'
13
+ authors 'Rainer Volz'
14
+ email 'dev@textmulch.de'
15
+ url 'https://github.com/rvolz/guard-docbook-status/'
16
+ ignore_file '.gitignore'
17
+ depend_on 'docbook_status'
18
+ depend_on 'guard'
19
+ }
20
+
@@ -0,0 +1,35 @@
1
+ # *-* encoding: utf-8 -*-
2
+ require 'guard'
3
+ require 'guard/guard'
4
+ require 'guard/watcher'
5
+
6
+ module Guard
7
+ class DocbookStatus < Guard
8
+
9
+ def initialize(watchers=[], options={})
10
+ super
11
+ @options = {
12
+ :trigger_on_start => true
13
+ }.update(options)
14
+ end
15
+
16
+ def start
17
+ ::Guard::UI.info("Guard::DocbookStatus has started watching your files")
18
+ run_all if @options[:trigger_on_start]
19
+ end
20
+
21
+ def run_all
22
+ run_on_change([])
23
+ end
24
+
25
+ def run_on_change(paths)
26
+ ::Guard::UI.info("Guard::DocbookStatus detected a change")
27
+ output = system("docbook_status #{@options[:cli]}")
28
+ command_failure = ($?.to_i != 0)
29
+ if command_failure
30
+ ::Guard::UI.error("docbook_status indicated an error")
31
+ end
32
+ end
33
+ end
34
+ end
35
+
@@ -0,0 +1,3 @@
1
+ guard 'docbook-status', :cli => '--remarks myproject.xml' do
2
+ watch(/.+\.xml$/i)
3
+ end
@@ -0,0 +1,5 @@
1
+ module Guard
2
+ class DocbookStatus
3
+ VERSION = '0.1.0'
4
+ end
5
+ end
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <book xmlns="http://docbook.org/ns/docbook"
3
+ xmlns:xi="http://www.w3.org/2001/XInclude"
4
+ version="5.0">
5
+ <title>B1</title>
6
+ <chapter>
7
+ <title>C1</title>
8
+ <para>
9
+ Dies ist ein Test .. Dies ist ein Test.
10
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
11
+ </para>
12
+ </chapter>
13
+ <xi:include href="chapter2xi.xml"/>
14
+ <xi:include href="chapter3xi.xml"/>
15
+ <xi:include href="c4/chapter4xi.xml"/>
16
+ </book>
@@ -0,0 +1,8 @@
1
+ <chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
2
+ <title>C4</title>
3
+ <para>
4
+ Dies ist ein Test .. Dies ist ein Test.
5
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
6
+ <remark>FIXME 3 Ausbauen.</remark>
7
+ </para>
8
+ </chapter>
@@ -0,0 +1,11 @@
1
+ <chapter xmlns="http://docbook.org/ns/docbook"
2
+ xmlns:xi="http://www.w3.org/2001/XInclude"
3
+ version="5.0">
4
+ <title>C2</title>
5
+ <para>
6
+ Dies ist ein Test .. Dies ist ein Test.
7
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
8
+ <remark>FIXME Ausbauen.</remark>
9
+ </para>
10
+ <xi:include href="section1xi.xml"/>
11
+ </chapter>
@@ -0,0 +1,8 @@
1
+ <chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
2
+ <title>C3</title>
3
+ <para>
4
+ Dies ist ein Test .. Dies ist ein Test.
5
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
6
+ <remark>FIXME 3 Ausbauen.</remark>
7
+ </para>
8
+ </chapter>
@@ -0,0 +1,9 @@
1
+ <section xmlns="http://docbook.org/ns/docbook"
2
+ version="5.0">
3
+ <title>S1</title>
4
+ <para>
5
+ Dies ist ein Test .. Dies ist ein Test.
6
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
7
+ <remark>TODO S1 Ausbauen.</remark>
8
+ </para>
9
+ </section>
@@ -0,0 +1,55 @@
1
+
2
+ #require File.join(File.dirname(__FILE__), %w[spec_helper])
3
+ require 'spec_helper'
4
+ require 'guard'
5
+ require 'guard/ui'
6
+ require 'guard/watcher'
7
+ require 'fileutils'
8
+
9
+ module Guard
10
+ describe DocbookStatus do
11
+ before(:each) do
12
+ @gdbs = DocbookStatus.new
13
+ end
14
+
15
+ describe "start" do
16
+ it "should trigger dbs on start" do
17
+ ::Guard::UI.should_receive(:info).with("Guard::DocbookStatus has started watching your files")
18
+ ::Guard::UI.should_receive(:info).with("Guard::DocbookStatus detected a change")
19
+ ::Guard::UI.should_receive(:error).with("docbook_status indicated an error")
20
+ @gdbs.start
21
+ end
22
+
23
+ it "should process a file on start" do
24
+ FileUtils.rm_rf 'spec/work'
25
+ FileUtils.cp_r 'spec/fixtures/', 'spec/work/'
26
+ ::Guard::UI.should_receive(:info).with("Guard::DocbookStatus has started watching your files")
27
+ ::Guard::UI.should_receive(:info).with("Guard::DocbookStatus detected a change")
28
+ ::Guard::UI.should_not_receive(:error)
29
+ @gdbs = DocbookStatus.new(["*.xml"],{:cli => 'spec/work/bookxi.xml'})
30
+ @gdbs.start
31
+ end
32
+ end
33
+
34
+ describe "run_on_change" do
35
+ it "should process a file in the working dir" do
36
+ w = Watcher.new("spec/fixtures/*.xml")
37
+ ::Guard::UI.should_receive(:info).with("Guard::DocbookStatus has started watching your files")
38
+ @gdbs = DocbookStatus.new([w],{:cli => 'bookxi.xml'})
39
+ @gdbs.should_receive(:run_on_change).twice
40
+ @gdbs.start
41
+ @gdbs.run_on_change(["chapter2xi.xml"])
42
+
43
+ end
44
+ it "should process a file in a subdir" do
45
+ w = Watcher.new("spec/fixtures/**/*.xml")
46
+ ::Guard::UI.should_receive(:info).with("Guard::DocbookStatus has started watching your files")
47
+ @gdbs = DocbookStatus.new([w],{:cli => 'bookxi.xml'})
48
+ @gdbs.should_receive(:run_on_change).twice
49
+ @gdbs.start
50
+ @gdbs.run_on_change(["chapter4xi.xml"])
51
+ end
52
+ end
53
+ end
54
+ end
55
+
@@ -0,0 +1,15 @@
1
+
2
+ require File.expand_path(
3
+ File.join(File.dirname(__FILE__), %w[.. lib guard docbook-status]))
4
+
5
+ RSpec.configure do |config|
6
+ # == Mock Framework
7
+ #
8
+ # RSpec uses it's own mocking framework by default. If you prefer to
9
+ # use mocha, flexmock or RR, uncomment the appropriate line:
10
+ #
11
+ # config.mock_with :mocha
12
+ # config.mock_with :flexmock
13
+ # config.mock_with :rr
14
+ end
15
+
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <book xmlns="http://docbook.org/ns/docbook"
3
+ xmlns:xi="http://www.w3.org/2001/XInclude"
4
+ version="5.0">
5
+ <title>B1</title>
6
+ <chapter>
7
+ <title>C1</title>
8
+ <para>
9
+ Dies ist ein Test .. Dies ist ein Test.
10
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
11
+ </para>
12
+ </chapter>
13
+ <xi:include href="chapter2xi.xml"/>
14
+ <xi:include href="chapter3xi.xml"/>
15
+ <xi:include href="c4/chapter4xi.xml"/>
16
+ </book>
@@ -0,0 +1,8 @@
1
+ <chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
2
+ <title>C4</title>
3
+ <para>
4
+ Dies ist ein Test .. Dies ist ein Test.
5
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
6
+ <remark>FIXME 3 Ausbauen.</remark>
7
+ </para>
8
+ </chapter>
@@ -0,0 +1,11 @@
1
+ <chapter xmlns="http://docbook.org/ns/docbook"
2
+ xmlns:xi="http://www.w3.org/2001/XInclude"
3
+ version="5.0">
4
+ <title>C2</title>
5
+ <para>
6
+ Dies ist ein Test .. Dies ist ein Test.
7
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
8
+ <remark>FIXME Ausbauen.</remark>
9
+ </para>
10
+ <xi:include href="section1xi.xml"/>
11
+ </chapter>
@@ -0,0 +1,8 @@
1
+ <chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
2
+ <title>C3</title>
3
+ <para>
4
+ Dies ist ein Test .. Dies ist ein Test.
5
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
6
+ <remark>FIXME 3 Ausbauen.</remark>
7
+ </para>
8
+ </chapter>
@@ -0,0 +1,9 @@
1
+ <section xmlns="http://docbook.org/ns/docbook"
2
+ version="5.0">
3
+ <title>S1</title>
4
+ <para>
5
+ Dies ist ein Test .. Dies ist ein Test.
6
+ In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
7
+ <remark>TODO S1 Ausbauen.</remark>
8
+ </para>
9
+ </section>
data/version.txt ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: guard-docbook-status
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rainer Volz
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-10-15 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: docbook_status
16
+ requirement: &2166150860 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.4.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2166150860
25
+ - !ruby/object:Gem::Dependency
26
+ name: guard
27
+ requirement: &2166149960 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 0.8.4
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2166149960
36
+ - !ruby/object:Gem::Dependency
37
+ name: bones
38
+ requirement: &2166149240 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 3.7.1
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2166149240
47
+ description: ! 'The docbook-status guard will watch your DocBook documents and check
48
+
49
+ their status when they change. It is meant to work with the
50
+
51
+ ''docbook_status'' utility, see https://github.com/rvolz/docbook_status'
52
+ email: dev@textmulch.de
53
+ executables: []
54
+ extensions: []
55
+ extra_rdoc_files:
56
+ - History.txt
57
+ - lib/guard/docbook-status/templates/Guardfile
58
+ files:
59
+ - Gemfile
60
+ - Gemfile.lock
61
+ - Guardfile
62
+ - History.txt
63
+ - README.md
64
+ - Rakefile
65
+ - lib/guard/docbook-status.rb
66
+ - lib/guard/docbook-status/templates/Guardfile
67
+ - lib/guard/docbook-status/version.rb
68
+ - spec/fixtures/bookxi.xml
69
+ - spec/fixtures/c4/chapter4xi.xml
70
+ - spec/fixtures/chapter2xi.xml
71
+ - spec/fixtures/chapter3xi.xml
72
+ - spec/fixtures/section1xi.xml
73
+ - spec/guard/docbook-status_spec.rb
74
+ - spec/spec_helper.rb
75
+ - spec/work/bookxi.xml
76
+ - spec/work/c4/chapter4xi.xml
77
+ - spec/work/chapter2xi.xml
78
+ - spec/work/chapter3xi.xml
79
+ - spec/work/section1xi.xml
80
+ - version.txt
81
+ homepage: https://github.com/rvolz/guard-docbook-status/
82
+ licenses: []
83
+ post_install_message:
84
+ rdoc_options:
85
+ - --main
86
+ - README.md
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project: guard-docbook-status
103
+ rubygems_version: 1.8.11
104
+ signing_key:
105
+ specification_version: 3
106
+ summary: The docbook-status guard will watch your DocBook documents and check their
107
+ status when they change.
108
+ test_files: []