recurs 0.0.4 → 0.0.4.1
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/.gitignore +2 -1
- data/Gemfile +1 -0
- data/features/generators.feature +27 -0
- data/features/step_definitions/aruba_steps.rb +24 -0
- data/features/support/aruba.rb +1 -0
- data/features/support/env.rb +15 -0
- data/lib/generators/recurs_instance_generator.rb +9 -0
- data/lib/generators/templates/instance.rb.tmpl +3 -0
- data/lib/recurs/rules.rb +0 -7
- data/lib/recurs/version.rb +1 -1
- data/recurs.gemspec +5 -0
- metadata +68 -1
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
Feature:
|
2
|
+
In order to easily generate recurrence interfaces with their complex rest logic
|
3
|
+
As a user of Rails3
|
4
|
+
I would like to use recurs generators
|
5
|
+
|
6
|
+
Scenario: The recurs generators create a recurs scaffold
|
7
|
+
for each model that I generate with a recurs generator
|
8
|
+
Given I run "rails new test_app"
|
9
|
+
And I cd to "test_app"
|
10
|
+
And a file named "Gemfile" with:
|
11
|
+
"""
|
12
|
+
source "http://rubygems.org"
|
13
|
+
gem 'rails', '3.0.0'
|
14
|
+
gem 'sqlite3-ruby', :require => 'sqlite3'
|
15
|
+
gem 'recurs', :path => '../../../'
|
16
|
+
"""
|
17
|
+
And I run "bundle install"
|
18
|
+
And I run "rails generate recurs_widget Event"
|
19
|
+
And I run "rake db:migrate"
|
20
|
+
And the following files should exist:
|
21
|
+
| app/models/event.rb |
|
22
|
+
| app/views/events/index.html.haml |
|
23
|
+
| app/views/events/new.html.haml |
|
24
|
+
| app/views/events/edit.html.haml |
|
25
|
+
| app/views/events/_form.html.haml |
|
26
|
+
And the following files should not exist:
|
27
|
+
| test/fixtures/users.yml |
|
@@ -0,0 +1,24 @@
|
|
1
|
+
When /^I do aruba (.*)$/ do |aruba_step|
|
2
|
+
begin
|
3
|
+
When(aruba_step)
|
4
|
+
rescue => e
|
5
|
+
@aruba_exception = e
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
# Useful for debugging timing problems
|
10
|
+
When /^sleep (\d+)$/ do |time|
|
11
|
+
sleep time.to_i
|
12
|
+
end
|
13
|
+
|
14
|
+
Then /^aruba should fail with "([^"]*)"$/ do |error_message|
|
15
|
+
@aruba_exception.message.should include(unescape(error_message))
|
16
|
+
end
|
17
|
+
|
18
|
+
Then /^the following step should fail with Spec::Expectations::ExpectationNotMetError:$/ do |multiline_step|
|
19
|
+
proc {steps multiline_step}.should raise_error(RSpec::Expectations::ExpectationNotMetError)
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /^the output should be (\d+) bytes long$/ do |length|
|
23
|
+
all_output.chomp.length.should == length.to_i
|
24
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'aruba'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../lib')
|
2
|
+
require 'aruba/cucumber'
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
begin
|
6
|
+
# rspec-2
|
7
|
+
require 'rspec/expectations'
|
8
|
+
rescue LoadError
|
9
|
+
# rspec-1
|
10
|
+
require 'spec/expectations'
|
11
|
+
end
|
12
|
+
|
13
|
+
Before do
|
14
|
+
FileUtils.rm(Dir['config/*.yml'])
|
15
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class RecursInstanceGenerator < Rails::Generators::Base
|
2
|
+
source_root File.expand_path("../templates", __FILE__)
|
3
|
+
argument :name, :type => :string, :default => "event"
|
4
|
+
|
5
|
+
def create_instance_model
|
6
|
+
template "instance.rb.tmpl", "app/models/#{name}.rb"
|
7
|
+
#create_file "app/models#{model_name}"
|
8
|
+
end
|
9
|
+
end
|
data/lib/recurs/rules.rb
CHANGED
data/lib/recurs/version.rb
CHANGED
data/recurs.gemspec
CHANGED
@@ -15,6 +15,11 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.rubyforge_project = "recurs"
|
16
16
|
s.add_dependency('ri_cal', '>= 0.8.7')
|
17
17
|
|
18
|
+
s.add_development_dependency 'rspec', '~> 2.3.0'
|
19
|
+
s.add_development_dependency 'aruba', '~> 0.2.7'
|
20
|
+
s.add_development_dependency('rake')
|
21
|
+
s.add_development_dependency('cucumber')
|
22
|
+
|
18
23
|
s.files = `git ls-files`.split("\n")
|
19
24
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
25
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
metadata
CHANGED
@@ -6,7 +6,8 @@ version: !ruby/object:Gem::Version
|
|
6
6
|
- 0
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
|
9
|
+
- 1
|
10
|
+
version: 0.0.4.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Steve Caney Martin
|
@@ -32,6 +33,62 @@ dependencies:
|
|
32
33
|
version: 0.8.7
|
33
34
|
type: :runtime
|
34
35
|
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
segments:
|
45
|
+
- 2
|
46
|
+
- 3
|
47
|
+
- 0
|
48
|
+
version: 2.3.0
|
49
|
+
type: :development
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: aruba
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
- 2
|
62
|
+
- 7
|
63
|
+
version: 0.2.7
|
64
|
+
type: :development
|
65
|
+
version_requirements: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
name: rake
|
68
|
+
prerelease: false
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
segments:
|
75
|
+
- 0
|
76
|
+
version: "0"
|
77
|
+
type: :development
|
78
|
+
version_requirements: *id004
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: cucumber
|
81
|
+
prerelease: false
|
82
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
segments:
|
88
|
+
- 0
|
89
|
+
version: "0"
|
90
|
+
type: :development
|
91
|
+
version_requirements: *id005
|
35
92
|
description: Specifiy you're recurrence pattern in symbols and strings and get an ical format recurrence string
|
36
93
|
email:
|
37
94
|
- steve@shakewell.co.uk
|
@@ -46,6 +103,12 @@ files:
|
|
46
103
|
- Gemfile
|
47
104
|
- README
|
48
105
|
- Rakefile
|
106
|
+
- features/generators.feature
|
107
|
+
- features/step_definitions/aruba_steps.rb
|
108
|
+
- features/support/aruba.rb
|
109
|
+
- features/support/env.rb
|
110
|
+
- lib/generators/recurs_instance_generator.rb
|
111
|
+
- lib/generators/templates/instance.rb.tmpl
|
49
112
|
- lib/recurs.rb
|
50
113
|
- lib/recurs/consts.rb
|
51
114
|
- lib/recurs/rules.rb
|
@@ -89,6 +152,10 @@ signing_key:
|
|
89
152
|
specification_version: 3
|
90
153
|
summary: A recurrence generator for ical format
|
91
154
|
test_files:
|
155
|
+
- features/generators.feature
|
156
|
+
- features/step_definitions/aruba_steps.rb
|
157
|
+
- features/support/aruba.rb
|
158
|
+
- features/support/env.rb
|
92
159
|
- spec/models/instance_spec.rb
|
93
160
|
- spec/models/parser_spec.rb
|
94
161
|
- spec/models/rules_spec.rb
|