blendris 0.0.1 → 0.0.2
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.tar.gz.sig +0 -0
- data/Manifest +2 -1
- data/{README.rdoc → README.markdown} +39 -25
- data/Rakefile +4 -3
- data/blendris.gemspec +4 -4
- data/lib/blendris.rb +2 -0
- data/lib/blendris/accessor.rb +0 -2
- data/lib/blendris/model.rb +5 -3
- data/spec/redis-tools_spec.rb +2 -0
- data/spec/spec_helper.rb +5 -4
- metadata +5 -5
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/Manifest
CHANGED
@@ -1,59 +1,73 @@
|
|
1
|
-
|
1
|
+
# Blendris #
|
2
2
|
|
3
3
|
* http://github.com/alexmchale/blendris
|
4
4
|
|
5
|
-
|
5
|
+
|
6
|
+
|
7
|
+
# DESCRIPTION #
|
6
8
|
|
7
9
|
Blendris is a Ruby interface to a Redis database.
|
8
10
|
|
9
|
-
== FEATURES/PROBLEMS:
|
10
11
|
|
11
|
-
== SYNOPSIS:
|
12
12
|
|
13
|
-
|
13
|
+
# FEATURES/PROBLEMS #
|
14
|
+
|
15
|
+
BLENDRIS IS IN VERY EARLY ALPHA!!!
|
16
|
+
|
17
|
+
PLEASE DON'T USE IT FOR ANYTHING IMPORTANT YET!!!
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
# REQUIREMENTS #
|
14
22
|
|
15
23
|
* Blendris uses the redis RubyGem.
|
16
24
|
|
17
|
-
|
25
|
+
|
26
|
+
|
27
|
+
# INSTALL #
|
18
28
|
|
19
29
|
* gem install blendris
|
20
30
|
|
21
|
-
|
31
|
+
|
32
|
+
|
33
|
+
# EXAMPLES #
|
22
34
|
|
23
35
|
The following would create a Website model that knows its url and
|
24
36
|
paths within the website.
|
25
37
|
|
26
|
-
|
27
|
-
|
38
|
+
class Website < Blendris::Model
|
39
|
+
key "website", :title
|
28
40
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
41
|
+
string :title
|
42
|
+
string :url
|
43
|
+
set :paths
|
44
|
+
end
|
33
45
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
46
|
+
website = Website.create("One Fake Website")
|
47
|
+
website.url = "http://fakewebsite.com"
|
48
|
+
website.paths << "/blog/index"
|
49
|
+
website.paths << "/admin/index"
|
38
50
|
|
39
51
|
The above would create the following Redis keys:
|
40
52
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
53
|
+
website:One_Fake_Website => "Website" (This identifies the model type)
|
54
|
+
website:One_Fake_Website:name => "One Fake Website"
|
55
|
+
website:One_Fake_Website:url => "http://fakewebsite.com"
|
56
|
+
website:One_Fake_Website:paths => [ "/blog/index", "/admin/index" ]
|
45
57
|
|
46
58
|
Now suppose we want to open the Website model back up to add a concept of sister sites:
|
47
59
|
|
48
|
-
|
49
|
-
|
50
|
-
|
60
|
+
class Website
|
61
|
+
refs :sister_sites, :class => Website, :reverse => :sister_sites
|
62
|
+
end
|
51
63
|
|
52
64
|
This will cause the website to maintain a set of other websites. The reverse tag
|
53
65
|
causes the other website's sister_sites set to be updated when it is added or removed
|
54
66
|
from this site's list.
|
55
67
|
|
56
|
-
|
68
|
+
|
69
|
+
|
70
|
+
# LICENSE #
|
57
71
|
|
58
72
|
(The MIT License)
|
59
73
|
|
data/Rakefile
CHANGED
@@ -5,10 +5,11 @@ gem "redis", ">= 0.1.2"
|
|
5
5
|
|
6
6
|
require "echoe"
|
7
7
|
|
8
|
-
require
|
9
|
-
require
|
8
|
+
require "redis"
|
9
|
+
require "fileutils"
|
10
|
+
require "./lib/blendris"
|
10
11
|
|
11
|
-
Echoe.new("blendris", "0.0.
|
12
|
+
Echoe.new("blendris", "0.0.2") do |p|
|
12
13
|
|
13
14
|
p.description = "A redis library for Ruby"
|
14
15
|
p.url = "http://github.com/alexmchale/blendris"
|
data/blendris.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{blendris}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Alex McHale"]
|
@@ -10,10 +10,10 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.date = %q{2010-02-11}
|
11
11
|
s.description = %q{A redis library for Ruby}
|
12
12
|
s.email = %q{alexmchale@gmail.com}
|
13
|
-
s.extra_rdoc_files = ["README.
|
14
|
-
s.files = ["History.txt", "Manifest", "PostInstall.txt", "README.
|
13
|
+
s.extra_rdoc_files = ["README.markdown", "lib/blendris.rb", "lib/blendris/accessor.rb", "lib/blendris/errors.rb", "lib/blendris/integer.rb", "lib/blendris/list.rb", "lib/blendris/model.rb", "lib/blendris/node.rb", "lib/blendris/reference.rb", "lib/blendris/reference_base.rb", "lib/blendris/reference_set.rb", "lib/blendris/set.rb", "lib/blendris/string.rb", "lib/blendris/types.rb", "lib/blendris/utils.rb", "tasks/rspec.rake"]
|
14
|
+
s.files = ["History.txt", "Manifest", "PostInstall.txt", "README.markdown", "Rakefile", "autotest/discover.rb", "blendris.gemspec", "lib/blendris.rb", "lib/blendris/accessor.rb", "lib/blendris/errors.rb", "lib/blendris/integer.rb", "lib/blendris/list.rb", "lib/blendris/model.rb", "lib/blendris/node.rb", "lib/blendris/reference.rb", "lib/blendris/reference_base.rb", "lib/blendris/reference_set.rb", "lib/blendris/set.rb", "lib/blendris/string.rb", "lib/blendris/types.rb", "lib/blendris/utils.rb", "script/console", "script/destroy", "script/generate", "spec/list_spec.rb", "spec/model_spec.rb", "spec/redis-tools_spec.rb", "spec/ref_spec.rb", "spec/set_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/string_spec.rb", "tasks/rspec.rake"]
|
15
15
|
s.homepage = %q{http://github.com/alexmchale/blendris}
|
16
|
-
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Blendris", "--main", "README.
|
16
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Blendris", "--main", "README.markdown"]
|
17
17
|
s.require_paths = ["lib"]
|
18
18
|
s.rubyforge_project = %q{blendris}
|
19
19
|
s.rubygems_version = %q{1.3.5}
|
data/lib/blendris.rb
CHANGED
data/lib/blendris/accessor.rb
CHANGED
data/lib/blendris/model.rb
CHANGED
@@ -108,10 +108,12 @@ module Blendris
|
|
108
108
|
# Defines a new data type for Blendris:Model construction.
|
109
109
|
def type(name, klass)
|
110
110
|
(class << self; self; end).instance_eval do
|
111
|
-
define_method
|
112
|
-
|
111
|
+
define_method(name) do |*args|
|
112
|
+
varname = args.shift.to_s
|
113
|
+
options = args.shift || {}
|
114
|
+
|
113
115
|
options[:type] = klass
|
114
|
-
redis_symbols[varname
|
116
|
+
redis_symbols[varname] = options
|
115
117
|
end
|
116
118
|
end
|
117
119
|
end
|
data/spec/redis-tools_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -7,7 +7,9 @@ rescue LoadError
|
|
7
7
|
end
|
8
8
|
|
9
9
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
10
|
-
|
10
|
+
|
11
|
+
require "rubygems"
|
12
|
+
require "./lib/blendris"
|
11
13
|
|
12
14
|
include Blendris
|
13
15
|
|
@@ -59,10 +61,9 @@ module TestFixtures
|
|
59
61
|
end
|
60
62
|
|
61
63
|
Spec::Runner.configure do |config|
|
62
|
-
|
63
|
-
extend RedisAccessor
|
64
|
-
extend TestFixtures
|
64
|
+
include TestFixtures
|
65
65
|
|
66
|
+
config.before(:each) do
|
66
67
|
RedisAccessor.prefix = "blendris-spec:"
|
67
68
|
RedisAccessor.flush_keys
|
68
69
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blendris
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex McHale
|
@@ -41,7 +41,7 @@ executables: []
|
|
41
41
|
extensions: []
|
42
42
|
|
43
43
|
extra_rdoc_files:
|
44
|
-
- README.
|
44
|
+
- README.markdown
|
45
45
|
- lib/blendris.rb
|
46
46
|
- lib/blendris/accessor.rb
|
47
47
|
- lib/blendris/errors.rb
|
@@ -61,9 +61,10 @@ files:
|
|
61
61
|
- History.txt
|
62
62
|
- Manifest
|
63
63
|
- PostInstall.txt
|
64
|
-
- README.
|
64
|
+
- README.markdown
|
65
65
|
- Rakefile
|
66
66
|
- autotest/discover.rb
|
67
|
+
- blendris.gemspec
|
67
68
|
- lib/blendris.rb
|
68
69
|
- lib/blendris/accessor.rb
|
69
70
|
- lib/blendris/errors.rb
|
@@ -90,7 +91,6 @@ files:
|
|
90
91
|
- spec/spec_helper.rb
|
91
92
|
- spec/string_spec.rb
|
92
93
|
- tasks/rspec.rake
|
93
|
-
- blendris.gemspec
|
94
94
|
has_rdoc: true
|
95
95
|
homepage: http://github.com/alexmchale/blendris
|
96
96
|
licenses: []
|
@@ -102,7 +102,7 @@ rdoc_options:
|
|
102
102
|
- --title
|
103
103
|
- Blendris
|
104
104
|
- --main
|
105
|
-
- README.
|
105
|
+
- README.markdown
|
106
106
|
require_paths:
|
107
107
|
- lib
|
108
108
|
required_ruby_version: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
Binary file
|