irwi 0.0.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.
Files changed (49) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.rdoc +53 -0
  5. data/Rakefile +53 -0
  6. data/VERSION +1 -0
  7. data/app/views/base_wiki_pages/_wiki_page_actions.html.erb +4 -0
  8. data/app/views/base_wiki_pages/_wiki_page_history.html.erb +31 -0
  9. data/app/views/base_wiki_pages/_wiki_page_info.html.erb +3 -0
  10. data/app/views/base_wiki_pages/_wiki_page_style.html.erb +69 -0
  11. data/app/views/base_wiki_pages/compare.html.erb +13 -0
  12. data/app/views/base_wiki_pages/edit.html.erb +14 -0
  13. data/app/views/base_wiki_pages/history.html.erb +7 -0
  14. data/app/views/base_wiki_pages/no.html.erb +1 -0
  15. data/app/views/base_wiki_pages/not_allowed.html.erb +1 -0
  16. data/app/views/base_wiki_pages/show.html.erb +10 -0
  17. data/generators/irwi_wiki/irwi_wiki_generator.rb +22 -0
  18. data/generators/irwi_wiki/templates/controllers/wiki_pages_controller.rb +5 -0
  19. data/generators/irwi_wiki/templates/helpers/wiki_pages_helper.rb +3 -0
  20. data/generators/irwi_wiki/templates/migrate/create_wiki_pages.rb +44 -0
  21. data/generators/irwi_wiki/templates/models/wiki_page.rb +5 -0
  22. data/generators/irwi_wiki/templates/models/wiki_page_version.rb +5 -0
  23. data/irwi.gemspec +99 -0
  24. data/lib/irwi.rb +7 -0
  25. data/lib/irwi/comparators/base.rb +17 -0
  26. data/lib/irwi/comparators/diff_lcs.rb +52 -0
  27. data/lib/irwi/comparators/spans/changed_span.rb +18 -0
  28. data/lib/irwi/comparators/spans/not_changed_span.rb +20 -0
  29. data/lib/irwi/config.rb +18 -0
  30. data/lib/irwi/extensions/controllers/wiki_pages.rb +123 -0
  31. data/lib/irwi/extensions/models/wiki_page.rb +46 -0
  32. data/lib/irwi/extensions/models/wiki_page_version.rb +40 -0
  33. data/lib/irwi/formatters/blue_cloth.rb +11 -0
  34. data/lib/irwi/formatters/red_cloth.rb +11 -0
  35. data/lib/irwi/helpers/wiki_pages_helper.rb +83 -0
  36. data/lib/irwi/support/route_mapper.rb +17 -0
  37. data/lib/irwi/support/template_finder.rb +11 -0
  38. data/rails/init.rb +31 -0
  39. data/spec/comparators/diff_lcs_spec.rb +37 -0
  40. data/spec/config_spec.rb +58 -0
  41. data/spec/extensions/controllers/wiki_pages_spec.rb +53 -0
  42. data/spec/helpers/wiki_pages_helper_spec.rb +74 -0
  43. data/spec/rcov.opts +2 -0
  44. data/spec/spec.opts +4 -0
  45. data/spec/spec_helper.rb +15 -0
  46. data/spec/support/route_mapper_spec.rb +20 -0
  47. data/spec/support/template_finder_spec.rb +33 -0
  48. data/tasks/riwiki_tasks.rake +4 -0
  49. metadata +127 -0
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,21 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 [name of plugin creator]
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,53 @@
1
+ = Irwi
2
+
3
+ Irwi is Ruby on Rails plugin which adds wiki functionality to your application.
4
+
5
+ == Installation
6
+
7
+ In your application directory call:
8
+
9
+ script/plugin install git://github.com/alno/irwi
10
+
11
+ == Usage
12
+
13
+ In your application directory call:
14
+
15
+ script/generate irwi_wiki
16
+
17
+ It will generate:
18
+ * WikiPageController to serve wiki pages
19
+ * WikiPage model to represent page
20
+ * Migration to prepare database
21
+
22
+ Also it will add to your <tt>routes.rb</tt> something like:
23
+
24
+ map.wiki_root '/wiki'
25
+
26
+ == Template definition
27
+
28
+ You may create your own templates for controller actions (<tt>show</tt>, <tt>edit</tt> and <tt>history</tt>), in other case default built-in templates will be used.
29
+
30
+ == Helper definition
31
+
32
+ Following helpers are defined by default and you may replace them with you own:
33
+ * <tt>wiki_user</tt> - Renders user name or link by given user object. By default renders &lt;Unknown&gt; for <tt>nil</tt> and "User#{user.id}" for others.
34
+
35
+ == Configuration
36
+
37
+ Configuration options are acessed via <tt>Irwi.options</tt> object. Currently supported options:
38
+ * <tt>user_class_name</tt> - Name of user model class. By default - 'User'
39
+ * <tt>formatter</tt> - Formatter instance, which process wiki content before output. It should have method <tt>format</tt>, which gets a string and returns it formatted. By default instance of <tt>Irwi::Formatters::RedCloth</tt> is used (requires RedCloth gem). Other built-in formatter is <tt>Irwi::Formatters::BlueCloth</tt> (requires BlueCloth gem).
40
+ * <tt>comparator</tt> - Comparator instance, which builds and renders a set of changes between to texts. By default instance of <tt>Irwi::Comparators::DiffLcs</tt> is used (requires diff-lcs gem).
41
+
42
+ == Access control
43
+
44
+ If you want (and it's good idea) to specify which users can see or edit certain pages you should simply override following methods in your controller:
45
+ * <tt>show_allowed?</tt> - should return <tt>true</tt> when it's allowed for current user to see current page (@page).
46
+ * <tt>history_allowed?</tt> - should return <tt>true</tt> when it's allowed for user to see history of current page (@page) and compare it's versions.
47
+ * <tt>edit_allowed?</tt> - should return <tt>true</tt> when it's allowed for current user to modify current page (@page).
48
+
49
+ == Localization
50
+
51
+ TODO
52
+
53
+ Copyright (c) 2009 Alexey Noskov, released under the MIT license
@@ -0,0 +1,53 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "irwi"
8
+ gem.summary = %Q{Irwi is Ruby on Rails plugin which adds wiki functionality to your application. }
9
+ gem.description = %Q{Irwi is Ruby on Rails plugin which adds wiki functionality to your application. }
10
+ gem.email = "alexey.noskov@gmail.com"
11
+ gem.homepage = "http://github.com/alno/irwi"
12
+ gem.authors = ["Alexey Noskov"]
13
+ gem.add_dependency "diff-lcs", ">= 1.1.2"
14
+ gem.add_development_dependency "rspec", ">= 1.2.9"
15
+ end
16
+ Jeweler::GemcutterTasks.new
17
+ rescue LoadError
18
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
19
+ end
20
+
21
+ require 'spec/rake/spectask'
22
+
23
+ desc "Run all specs in spec directory"
24
+ Spec::Rake::SpecTask.new(:spec) do |spec|
25
+ spec.libs << 'lib' << 'spec'
26
+ spec.spec_files = FileList['spec/**/*_spec.rb']
27
+ end
28
+
29
+ desc "Run all specs in spec directory with RCov"
30
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
31
+ spec.libs << 'lib' << 'spec'
32
+ spec.pattern = 'spec/**/*_spec.rb'
33
+ spec.rcov = true
34
+ spec.rcov_opts = lambda do
35
+ IO.readlines("spec/rcov.opts").map {|l| l.chomp.split " "}.flatten
36
+ end
37
+ end
38
+
39
+ task :spec => :check_dependencies
40
+
41
+ task :default => :spec
42
+ task :test => :spec
43
+
44
+ require 'rake/rdoctask'
45
+ Rake::RDocTask.new do |rdoc|
46
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
47
+
48
+ rdoc.rdoc_dir = 'rdoc'
49
+ rdoc.title = "Irwi #{version}"
50
+ rdoc.options << '--line-numbers' << '--inline-source'
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.0
@@ -0,0 +1,4 @@
1
+ <ul class="wiki_page_actions">
2
+ <%= '<li>' + link_to( wt( 'Edit' ), wiki_page_edit_path ) + '</li>' if edit_allowed? %>
3
+ <%= '<li>' + link_to( wt( 'History' ), wiki_page_history_path ) + '</li>' if history_allowed? %>
4
+ </ul>
@@ -0,0 +1,31 @@
1
+ <% if with_form %>
2
+ <form action="<%=wiki_page_compare_path%>" method="get">
3
+ <% end %>
4
+
5
+ <table class="wiki_history">
6
+ <tr class="wiki_history_header">
7
+ <td><%=wt 'Version' %></td>
8
+ <td><%=wt 'Date' %></td>
9
+ <td><%=wt 'Author' %></td>
10
+ <td><%=wt 'Comment' %></td>
11
+ </tr>
12
+ <% versions.reverse.each do |v| %>
13
+ <tr>
14
+ <td>
15
+ <%=v.number%>
16
+ <% if with_form %>
17
+ <input type="radio" name="old" value="<%=v.number%>" <%= 'checked="true" ' if v == versions[-1] %>/>
18
+ <input type="radio" name="new" value="<%=v.number%>" <%= 'checked="true" ' if v == versions[-2] %>/>
19
+ <% end %>
20
+ </td>
21
+ <td><%=l( v.updated_at, :format => :long ) %></td>
22
+ <td><%= wiki_user( v.updator ) %></td>
23
+ <td><%= v.comment %></td>
24
+ </tr>
25
+ <% end %>
26
+ </table>
27
+
28
+ <% if with_form %>
29
+ <%= submit_tag wt 'Compare selected versions' %>
30
+ </form>
31
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <div class="wiki_page_info">
2
+ <%=wt "Revised on {{time}} by {{user}}", :time => l( page.updated_at, :format => :long ), :user => wiki_user( page.updator ) %>
3
+ </div>
@@ -0,0 +1,69 @@
1
+ <style>
2
+
3
+ .wiki_page_info {
4
+ font-style: italic;
5
+ color: #666;
6
+ margin-left: 5px;
7
+ float: left;
8
+ }
9
+
10
+ .wiki_page_actions {
11
+ text-align: right;
12
+ width: 100%;
13
+ padding: 0px;
14
+ }
15
+
16
+ .wiki_page_actions li {
17
+ display: inline;
18
+ margin: 0px;
19
+ padding: 0px;
20
+ }
21
+
22
+ .wiki_content,
23
+ .wiki_diff,
24
+ .wiki_history {
25
+ border: 1px dashed #666;
26
+ margin-top: 10px;
27
+ margin-bottom: 10px;
28
+ padding: 10px;
29
+ }
30
+
31
+ .wiki_history {
32
+ width: 100%;
33
+ }
34
+
35
+ .wiki_history_header td {
36
+ border-bottom: 2px dashed black;
37
+ }
38
+
39
+ .wiki_form {
40
+ display: block;
41
+ width: 100%;
42
+ border: 1px dashed #666;
43
+ }
44
+
45
+ .wiki_form p {
46
+ padding: 10px;
47
+ }
48
+
49
+ .wiki_form p input,
50
+ .wiki_form p textarea {
51
+ width: 100%;
52
+ }
53
+
54
+ .wiki_form .submit {
55
+ margin-left: 20px;
56
+ margin-bottom: 10px;
57
+ }
58
+
59
+ .wiki_diff span.added {
60
+ background: #D4FFAB;
61
+ color: #509A05;
62
+ }
63
+
64
+ .wiki_diff span.removed {
65
+ background: #FFD8D8;
66
+ color: #EF2828;
67
+ }
68
+
69
+ </style>
@@ -0,0 +1,13 @@
1
+ <%= wiki_page_style %>
2
+
3
+ <h1><%=wt '{{page_title}} - Comparing versions {{old_version}} and {{new_version}}', :page_title => h( @page.title ), :old_version => @old_version.number, :new_version => @new_version.number %></h1>
4
+
5
+ <%=wt 'Changes list:' %>
6
+
7
+ <%= wiki_page_history @page, @versions[1..-1] %>
8
+
9
+ <%=wt 'Changes in content:' %>
10
+
11
+ <div class="wiki_diff">
12
+ <%= wiki_diff @old_version.content, @new_version.content %>
13
+ </div>
@@ -0,0 +1,14 @@
1
+ <%= wiki_page_style %>
2
+
3
+ <h1><%=wt 'Editing wiki page' %></h1>
4
+
5
+ <% wiki_page_form do |f| %>
6
+ <%= f.hidden_field :previous_version_number, :value => f.object.last_version_number %>
7
+
8
+ <p><%=wt 'Path:' %><br/><%= f.text_field :path %></p>
9
+ <p><%=wt 'Title:' %><br /><%= f.text_field :title %></p>
10
+ <p><%=wt 'Content:' %><br /><%= f.text_area :content %></p>
11
+ <p><%=wt 'Comment:' %><br /><%= f.text_field :comment %></p>
12
+
13
+ <input type="submit" value="<%=wt 'Save page' %>" class="submit" />
14
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <%= wiki_page_style %>
2
+
3
+ <h1><%=wt '{{page_title}} - History', :page_title => @page.title %></h1>
4
+
5
+ <%= wiki_page_info %>
6
+ <%= wiki_page_actions %>
7
+ <%= wiki_page_history %>
@@ -0,0 +1 @@
1
+ <%=wt 'There are no such page. Do you want to <a href="{{edit_url}}">create it</a>?', :edit_url => wiki_page_edit_path %>
@@ -0,0 +1 @@
1
+ <%=wt 'You are not allowed to be here, please go out.' %>
@@ -0,0 +1,10 @@
1
+ <%= wiki_page_style %>
2
+
3
+ <h1><%=h @page.title %></h1>
4
+
5
+ <%= wiki_page_info %>
6
+ <%= wiki_page_actions %>
7
+
8
+ <div class="wiki_content">
9
+ <%=wiki_content @page.content %>
10
+ </div>
@@ -0,0 +1,22 @@
1
+ class IrwiWikiGenerator < Rails::Generator::Base
2
+ def manifest
3
+ record do |m|
4
+
5
+ # Controllers
6
+ m.file 'controllers/wiki_pages_controller.rb', 'app/controllers/wiki_pages_controller.rb'
7
+
8
+ # Helpers
9
+ m.file 'helpers/wiki_pages_helper.rb', 'app/helpers/wiki_pages_helper.rb'
10
+
11
+ # Models
12
+ m.file 'models/wiki_page.rb', 'app/models/wiki_page.rb'
13
+ m.file 'models/wiki_page_version.rb', 'app/models/wiki_page_version.rb'
14
+
15
+ # Migrations
16
+ m.migration_template 'migrate/create_wiki_pages.rb', 'db/migrate', :migration_file_name => "create_wiki_pages"
17
+
18
+ # Routes
19
+ m.gsub_file 'config/routes.rb', /#{Regexp.quote 'ActionController::Routing::Routes.draw do |map|'}\n/, "\\0\n map.wiki_root '/wiki'\n"
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ class WikiPagesController < ApplicationController
2
+
3
+ acts_as_wiki_pages_controller
4
+
5
+ end
@@ -0,0 +1,3 @@
1
+ module WikiPagesHelper
2
+ include Irwi::Helpers::WikiPagesHelper
3
+ end
@@ -0,0 +1,44 @@
1
+ class CreateWikiPages < ActiveRecord::Migration
2
+
3
+ def self.up
4
+ create_table :wiki_pages do |t|
5
+ t.integer :creator_id
6
+ t.integer :updator_id
7
+
8
+ t.string :path
9
+ t.string :title
10
+
11
+ t.text :content
12
+
13
+ t.timestamps
14
+ end
15
+
16
+ add_index :wiki_pages, :creator_id
17
+ add_index :wiki_pages, :path, :unique => true
18
+
19
+ create_table :wiki_page_versions do |t|
20
+ t.integer :page_id, :null => false # Reference to page
21
+ t.integer :updator_id # Reference to user, updated page
22
+
23
+ t.integer :number # Version number
24
+
25
+ t.string :comment
26
+
27
+ t.string :path
28
+ t.string :title
29
+
30
+ t.text :content
31
+
32
+ t.timestamp :updated_at
33
+ end
34
+
35
+ add_index :wiki_page_versions, :page_id
36
+ add_index :wiki_page_versions, :updator_id
37
+ end
38
+
39
+ def self.down
40
+ drop_table :wiki_page_versions
41
+ drop_table :wiki_pages
42
+ end
43
+
44
+ end
@@ -0,0 +1,5 @@
1
+ class WikiPage < ActiveRecord::Base
2
+
3
+ acts_as_wiki_page
4
+
5
+ end
@@ -0,0 +1,5 @@
1
+ class WikiPageVersion < ActiveRecord::Base
2
+
3
+ acts_as_wiki_page_version
4
+
5
+ end
@@ -0,0 +1,99 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{irwi}
8
+ s.version = "0.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Alexey Noskov"]
12
+ s.date = %q{2009-10-25}
13
+ s.description = %q{Irwi is Ruby on Rails plugin which adds wiki functionality to your application. }
14
+ s.email = %q{alexey.noskov@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "README.rdoc"
17
+ ]
18
+ s.files = [
19
+ ".document",
20
+ ".gitignore",
21
+ "MIT-LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "app/views/base_wiki_pages/_wiki_page_actions.html.erb",
26
+ "app/views/base_wiki_pages/_wiki_page_history.html.erb",
27
+ "app/views/base_wiki_pages/_wiki_page_info.html.erb",
28
+ "app/views/base_wiki_pages/_wiki_page_style.html.erb",
29
+ "app/views/base_wiki_pages/compare.html.erb",
30
+ "app/views/base_wiki_pages/edit.html.erb",
31
+ "app/views/base_wiki_pages/history.html.erb",
32
+ "app/views/base_wiki_pages/no.html.erb",
33
+ "app/views/base_wiki_pages/not_allowed.html.erb",
34
+ "app/views/base_wiki_pages/show.html.erb",
35
+ "generators/irwi_wiki/irwi_wiki_generator.rb",
36
+ "generators/irwi_wiki/templates/controllers/wiki_pages_controller.rb",
37
+ "generators/irwi_wiki/templates/helpers/wiki_pages_helper.rb",
38
+ "generators/irwi_wiki/templates/migrate/create_wiki_pages.rb",
39
+ "generators/irwi_wiki/templates/models/wiki_page.rb",
40
+ "generators/irwi_wiki/templates/models/wiki_page_version.rb",
41
+ "irwi.gemspec",
42
+ "lib/irwi.rb",
43
+ "lib/irwi/comparators/base.rb",
44
+ "lib/irwi/comparators/diff_lcs.rb",
45
+ "lib/irwi/comparators/spans/changed_span.rb",
46
+ "lib/irwi/comparators/spans/not_changed_span.rb",
47
+ "lib/irwi/config.rb",
48
+ "lib/irwi/extensions/controllers/wiki_pages.rb",
49
+ "lib/irwi/extensions/models/wiki_page.rb",
50
+ "lib/irwi/extensions/models/wiki_page_version.rb",
51
+ "lib/irwi/formatters/blue_cloth.rb",
52
+ "lib/irwi/formatters/red_cloth.rb",
53
+ "lib/irwi/helpers/wiki_pages_helper.rb",
54
+ "lib/irwi/support/route_mapper.rb",
55
+ "lib/irwi/support/template_finder.rb",
56
+ "rails/init.rb",
57
+ "spec/comparators/diff_lcs_spec.rb",
58
+ "spec/config_spec.rb",
59
+ "spec/extensions/controllers/wiki_pages_spec.rb",
60
+ "spec/helpers/wiki_pages_helper_spec.rb",
61
+ "spec/rcov.opts",
62
+ "spec/spec.opts",
63
+ "spec/spec_helper.rb",
64
+ "spec/support/route_mapper_spec.rb",
65
+ "spec/support/template_finder_spec.rb",
66
+ "tasks/riwiki_tasks.rake"
67
+ ]
68
+ s.homepage = %q{http://github.com/alno/irwi}
69
+ s.rdoc_options = ["--charset=UTF-8"]
70
+ s.require_paths = ["lib"]
71
+ s.rubygems_version = %q{1.3.5}
72
+ s.summary = %q{Irwi is Ruby on Rails plugin which adds wiki functionality to your application.}
73
+ s.test_files = [
74
+ "spec/comparators/diff_lcs_spec.rb",
75
+ "spec/support/template_finder_spec.rb",
76
+ "spec/support/route_mapper_spec.rb",
77
+ "spec/config_spec.rb",
78
+ "spec/extensions/controllers/wiki_pages_spec.rb",
79
+ "spec/helpers/wiki_pages_helper_spec.rb",
80
+ "spec/spec_helper.rb"
81
+ ]
82
+
83
+ if s.respond_to? :specification_version then
84
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
85
+ s.specification_version = 3
86
+
87
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
88
+ s.add_runtime_dependency(%q<diff-lcs>, [">= 1.1.2"])
89
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
90
+ else
91
+ s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
92
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
93
+ end
94
+ else
95
+ s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
96
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
97
+ end
98
+ end
99
+