cuke_mem 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c011acd8a44e0a2c8f6f1711e01d1a36edcef467
4
+ data.tar.gz: f70082c098d1209985389092bfb95b06d79f8931
5
+ SHA512:
6
+ metadata.gz: bbe0ed05aa4508e7c1cc1ba4271ddc1d04249fbc30257de5af6ad36874606d8a4852dc51b0c2da16ca98a32b29e82e465b465c751255b84fb785b7a2fef03145
7
+ data.tar.gz: 42d516db24097e18c4cfc3070b9bb7d0855bb84b16fb294f692f1b878d14661c3415edd2886fb2846be038fdbca17e04ad509df1bfe70ffbba504c90dac174b3
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - 2.0.0
@@ -0,0 +1,22 @@
1
+ If you come across any issues, please [tell us](https://github.com/connamara/cuke_mem/issues).
2
+ Pull requests (with tests) are appreciated. No pull request is too small. Please help with:
3
+
4
+ * Reporting bugs
5
+ * Suggesting features
6
+ * Writing or improving documentation
7
+ * Fixing typos
8
+ * Cleaning whitespace
9
+ * Refactoring code
10
+ * Adding tests
11
+ * Closing [issues](https://github.com/connamara/cuke_mem/issues)
12
+
13
+ Contributing to cuke\_mem:
14
+
15
+ 1. Fork the [official repository](https://github.com/connamara/cuke_mem/tree/master).
16
+ 2. Make your changes in a topic branch.
17
+ 3. Send a pull request.
18
+
19
+ Notes:
20
+ * If you report a bug and don't include a fix, please include a failing test.
21
+ * Contributions without tests won't be accepted.
22
+ * Please don't update the Gem version
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "cucumber", "~> 1.3"
4
+
5
+ group :development do
6
+ gem "rspec", "~> 2.14"
7
+ gem "bundler", "~> 1.3"
8
+ gem "jeweler", "~> 1.8"
9
+ gem "rake", "~> 10.1"
10
+ end
@@ -0,0 +1,73 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.3.5)
5
+ builder (3.2.2)
6
+ cucumber (1.3.6)
7
+ builder (>= 2.1.2)
8
+ diff-lcs (>= 1.1.3)
9
+ gherkin (~> 2.12.0)
10
+ multi_json (~> 1.7.5)
11
+ multi_test (>= 0.0.2)
12
+ diff-lcs (1.2.4)
13
+ faraday (0.8.8)
14
+ multipart-post (~> 1.2.0)
15
+ gherkin (2.12.1)
16
+ multi_json (~> 1.3)
17
+ git (1.2.6)
18
+ github_api (0.10.1)
19
+ addressable
20
+ faraday (~> 0.8.1)
21
+ hashie (>= 1.2)
22
+ multi_json (~> 1.4)
23
+ nokogiri (~> 1.5.2)
24
+ oauth2
25
+ hashie (2.0.5)
26
+ highline (1.6.19)
27
+ httpauth (0.2.0)
28
+ jeweler (1.8.7)
29
+ builder
30
+ bundler (~> 1.0)
31
+ git (>= 1.2.5)
32
+ github_api (= 0.10.1)
33
+ highline (>= 1.6.15)
34
+ nokogiri (= 1.5.10)
35
+ rake
36
+ rdoc
37
+ json (1.8.0)
38
+ jwt (0.1.8)
39
+ multi_json (>= 1.5)
40
+ multi_json (1.7.9)
41
+ multi_test (0.0.2)
42
+ multi_xml (0.5.5)
43
+ multipart-post (1.2.0)
44
+ nokogiri (1.5.10)
45
+ oauth2 (0.9.2)
46
+ faraday (~> 0.8)
47
+ httpauth (~> 0.2)
48
+ jwt (~> 0.1.4)
49
+ multi_json (~> 1.0)
50
+ multi_xml (~> 0.5)
51
+ rack (~> 1.2)
52
+ rack (1.5.2)
53
+ rake (10.1.0)
54
+ rdoc (4.0.1)
55
+ json (~> 1.4)
56
+ rspec (2.14.1)
57
+ rspec-core (~> 2.14.0)
58
+ rspec-expectations (~> 2.14.0)
59
+ rspec-mocks (~> 2.14.0)
60
+ rspec-core (2.14.5)
61
+ rspec-expectations (2.14.2)
62
+ diff-lcs (>= 1.1.3, < 2.0)
63
+ rspec-mocks (2.14.3)
64
+
65
+ PLATFORMS
66
+ ruby
67
+
68
+ DEPENDENCIES
69
+ bundler (~> 1.3)
70
+ cucumber (~> 1.3)
71
+ jeweler (~> 1.8)
72
+ rake (~> 10.1)
73
+ rspec (~> 2.14)
@@ -0,0 +1,14 @@
1
+ Copyright (C) 2013 Connamara Systems, llc
2
+
3
+ This program is free software: you can redistribute it and/or modify
4
+ it under the terms of the GNU General Public License as published by
5
+ the Free Software Foundation, either version 3 of the License, or
6
+ (at your option) any later version.
7
+
8
+ This program is distributed in the hope that it will be useful,
9
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ GNU General Public License for more details.
12
+
13
+ You should have received a copy of the GNU General Public License
14
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
@@ -0,0 +1,92 @@
1
+ cuke\_mem [![Build Status](https://travis-ci.org/connamara/cuke_mem.png?branch=master)](https://travis-ci.org/connamara/cuke_mem)
2
+ --------
3
+
4
+ A very simple memory bank for cucumber tests
5
+
6
+ Allows you to write features like
7
+
8
+ ```cucumber
9
+ Feature: I can store and recall stuff
10
+ Scenario: Obligatory Hello World
11
+ Given my data is "World"
12
+ And I keep my data as "VAR"
13
+ When I swizzle my data
14
+ Then my data should be "Hello %{VAR}"
15
+ ```
16
+
17
+
18
+ Usage
19
+ =====
20
+
21
+ Include ```require 'cuke_mem/cucumber'``` in your ```features/support/env.rb```
22
+
23
+ Then you can do
24
+
25
+ ```ruby
26
+ Given /^my data is "(.*)"$/ do |data|
27
+ @my_data = data
28
+ end
29
+
30
+ Given /^I keep my data as "(.*)"$/ do |var|
31
+ CukeMem.memorize var, @my_data
32
+ end
33
+
34
+ When /^I swizzle my data$/ do
35
+ @my_data="Hello #{@my_data}"
36
+ end
37
+
38
+ Then /^my data should be "(.*)"/ do |key|
39
+ @my_data.should == CukeMem.remember(key)
40
+ end
41
+ ```
42
+
43
+ ### More
44
+
45
+ Check out [specs](https://github.com/connamara/cuke_mem/blob/master/spec) and [features](https://github.com/connamara/cuke_mem/blob/master/features) to see all the ways you can use cuke\_mem.
46
+
47
+
48
+ Install
49
+ =======
50
+
51
+ ```shell
52
+ gem install cuke_mem
53
+ ```
54
+
55
+ or add the following to Gemfile:
56
+
57
+ ```ruby
58
+ gem 'cuke_mem'
59
+ ```
60
+ and run `bundle install` from your shell.
61
+
62
+ More Information
63
+ ================
64
+
65
+ * [Rubygems](https://rubygems.org/gems/cuke_mem)
66
+ * [Issues](https://github.com/connamara/cuke_mem/issues)
67
+ * [Connamara Systems](http://connamara.com)
68
+
69
+ Contributing
70
+ ============
71
+
72
+ Please see the [contribution guidelines](https://github.com/connamara/cuke_mem/blob/master/CONTRIBUTION_GUIDELINES.md).
73
+
74
+ Credits
75
+ =======
76
+
77
+ Contributers:
78
+
79
+ * Chris Busbey
80
+
81
+ ![Connamara Systems](http://www.connamara.com/images/home-connamara-logo-lg.png)
82
+
83
+ cuke\_mem is maintained and funded by [Connamara Systems, llc](http://connamara.com).
84
+
85
+ The names and logos for Connamara Systems are trademarks of Connamara Systems, llc.
86
+
87
+ Licensing
88
+ =========
89
+
90
+ cuke\_mem is Copyright © 2013 Connamara Systems, llc.
91
+
92
+ This software is available under the GPL and a commercial license. Please see the [LICENSE](https://github.com/connamara/cuke_mem/blob/master/LICENSE.txt) file for the terms specified by the GPL license. The commercial license offers more flexible licensing terms compared to the GPL, and includes support services. [Contact us](mailto:info@connamara.com) for more information on the Connamara commercial license, what it enables, and how you can start developing with it.
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ require "bundler/gem_tasks"
4
+ require 'rspec/core/rake_task'
5
+ require 'cucumber/rake/task'
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ Cucumber::Rake::Task.new(:cucumber)
9
+
10
+ task :test => [:spec, :cucumber]
11
+ task :default => :test
12
+
13
+ require 'jeweler'
14
+ Jeweler::Tasks.new do |gem|
15
+ gem.name = "cuke_mem"
16
+ gem.homepage = "http://github.com/connamara/cuke_mem"
17
+ gem.license = "GPL"
18
+ gem.summary = %Q{A very simple memory bank for cucumber tests}
19
+ gem.description = %Q{Gem serves as a place where step definitions from different modules can share remembered data}
20
+ gem.email = "info@connamara.com"
21
+ gem.authors = ["Chris Busbey"]
22
+ # dependencies defined in Gemfile
23
+ end
24
+
25
+ Jeweler::RubygemsDotOrgTasks.new
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.1
@@ -0,0 +1,70 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "cuke_mem"
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Chris Busbey"]
12
+ s.date = "2013-08-28"
13
+ s.description = "Gem serves as a place where step definitions from different modules can share remembered data"
14
+ s.email = "info@connamara.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.md"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ ".travis.yml",
23
+ "CONTRIBUTION_GUIDELINES.md",
24
+ "Gemfile",
25
+ "Gemfile.lock",
26
+ "LICENSE.txt",
27
+ "README.md",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "cuke_mem.gemspec",
31
+ "features/example.feature",
32
+ "features/step_definitions/steps.rb",
33
+ "features/support/env.rb",
34
+ "lib/cuke_mem.rb",
35
+ "lib/cuke_mem/cucumber.rb",
36
+ "lib/cuke_mem/memory.rb",
37
+ "spec/cuke_mem_spec.rb",
38
+ "spec/spec_helper.rb"
39
+ ]
40
+ s.homepage = "http://github.com/connamara/cuke_mem"
41
+ s.licenses = ["GPL"]
42
+ s.require_paths = ["lib"]
43
+ s.rubygems_version = "2.0.7"
44
+ s.summary = "A very simple memory bank for cucumber tests"
45
+
46
+ if s.respond_to? :specification_version then
47
+ s.specification_version = 4
48
+
49
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
+ s.add_runtime_dependency(%q<cucumber>, ["~> 1.3"])
51
+ s.add_development_dependency(%q<rspec>, ["~> 2.14"])
52
+ s.add_development_dependency(%q<bundler>, ["~> 1.3"])
53
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
54
+ s.add_development_dependency(%q<rake>, ["~> 10.1"])
55
+ else
56
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
57
+ s.add_dependency(%q<rspec>, ["~> 2.14"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.3"])
59
+ s.add_dependency(%q<jeweler>, ["~> 1.8"])
60
+ s.add_dependency(%q<rake>, ["~> 10.1"])
61
+ end
62
+ else
63
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
64
+ s.add_dependency(%q<rspec>, ["~> 2.14"])
65
+ s.add_dependency(%q<bundler>, ["~> 1.3"])
66
+ s.add_dependency(%q<jeweler>, ["~> 1.8"])
67
+ s.add_dependency(%q<rake>, ["~> 10.1"])
68
+ end
69
+ end
70
+
@@ -0,0 +1,6 @@
1
+ Feature: I can store and recall stuff
2
+ Scenario: Obligatory Hello World
3
+ Given my data is "World"
4
+ And I keep my data as "VAR"
5
+ When I swizzle my data
6
+ Then my data should be "Hello %{VAR}"
@@ -0,0 +1,16 @@
1
+ Given /^my data is "(.*)"$/ do |data|
2
+ @my_data = data
3
+ end
4
+
5
+ Given /^I keep my data as "(.*)"$/ do |var|
6
+ CukeMem.memorize var, @my_data
7
+ end
8
+
9
+ When /^I swizzle my data$/ do
10
+ @my_data="Hello #{@my_data}"
11
+ end
12
+
13
+ Then /^my data should be "(.*)"/ do |key|
14
+ @my_data.should == CukeMem.remember(key)
15
+ end
16
+
@@ -0,0 +1,3 @@
1
+ $: << File.expand_path("../../../lib", __FILE__)
2
+
3
+ require 'cuke_mem/cucumber'
@@ -0,0 +1,6 @@
1
+ require 'cuke_mem/memory'
2
+
3
+ module CukeMem
4
+ extend Memory
5
+ end
6
+
@@ -0,0 +1,5 @@
1
+ require File.expand_path("../../cuke_mem", __FILE__)
2
+
3
+ After do
4
+ CukeMem.forget
5
+ end
@@ -0,0 +1,19 @@
1
+ module CukeMem
2
+ module Memory
3
+ def memory
4
+ @memory ||= {}
5
+ end
6
+
7
+ def memorize key, value
8
+ memory[key.to_sym]=value
9
+ end
10
+
11
+ def remember phrase
12
+ memory.empty? ? phrase : phrase % memory
13
+ end
14
+
15
+ def forget
16
+ @memory={}
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,33 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe CukeMem do
4
+
5
+ it "has a memory" do
6
+ CukeMem.memory.should=={}
7
+ end
8
+
9
+ it "memorizes strings" do
10
+ CukeMem.memorize(:key, "value")
11
+ CukeMem.memory.should == {:key=>"value"}
12
+ end
13
+
14
+ it "symbolizes keys" do
15
+ CukeMem.memorize("key", "value")
16
+ CukeMem.memory.should == {:key=>"value"}
17
+ end
18
+
19
+ it "regurgitates unremembered strings" do
20
+ CukeMem.remember("foo%{bar}").should == "foo%{bar}"
21
+ end
22
+
23
+ it "remembers strings" do
24
+ CukeMem.memorize(:bar, "baz")
25
+ CukeMem.remember("foo%{bar}").should=="foobaz"
26
+ end
27
+
28
+ it "forgets" do
29
+ CukeMem.memorize(:key, "value")
30
+ CukeMem.forget
31
+ CukeMem.memory.should=={}
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'cuke_mem'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+ config.before do
12
+ CukeMem.forget
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,120 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cuke_mem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Chris Busbey
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2013-08-28 00:00:00 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: cucumber
16
+ requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ~>
19
+ - !ruby/object:Gem::Version
20
+ version: "1.3"
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: *id001
24
+ - !ruby/object:Gem::Dependency
25
+ name: rspec
26
+ requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: "2.14"
31
+ type: :development
32
+ prerelease: false
33
+ version_requirements: *id002
34
+ - !ruby/object:Gem::Dependency
35
+ name: bundler
36
+ requirement: &id003 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: "1.3"
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: *id003
44
+ - !ruby/object:Gem::Dependency
45
+ name: jeweler
46
+ requirement: &id004 !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ~>
49
+ - !ruby/object:Gem::Version
50
+ version: "1.8"
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: *id004
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
56
+ requirement: &id005 !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ version: "10.1"
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: *id005
64
+ description: Gem serves as a place where step definitions from different modules can share remembered data
65
+ email: info@connamara.com
66
+ executables: []
67
+
68
+ extensions: []
69
+
70
+ extra_rdoc_files:
71
+ - LICENSE.txt
72
+ - README.md
73
+ files:
74
+ - .document
75
+ - .rspec
76
+ - .travis.yml
77
+ - CONTRIBUTION_GUIDELINES.md
78
+ - Gemfile
79
+ - Gemfile.lock
80
+ - LICENSE.txt
81
+ - README.md
82
+ - Rakefile
83
+ - VERSION
84
+ - cuke_mem.gemspec
85
+ - features/example.feature
86
+ - features/step_definitions/steps.rb
87
+ - features/support/env.rb
88
+ - lib/cuke_mem.rb
89
+ - lib/cuke_mem/cucumber.rb
90
+ - lib/cuke_mem/memory.rb
91
+ - spec/cuke_mem_spec.rb
92
+ - spec/spec_helper.rb
93
+ homepage: http://github.com/connamara/cuke_mem
94
+ licenses:
95
+ - GPL
96
+ metadata: {}
97
+
98
+ post_install_message:
99
+ rdoc_options: []
100
+
101
+ require_paths:
102
+ - lib
103
+ required_ruby_version: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - &id006
106
+ - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: "0"
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - *id006
112
+ requirements: []
113
+
114
+ rubyforge_project:
115
+ rubygems_version: 2.0.7
116
+ signing_key:
117
+ specification_version: 4
118
+ summary: A very simple memory bank for cucumber tests
119
+ test_files: []
120
+