rpc-mapper 0.0.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.
@@ -0,0 +1,48 @@
1
+ require 'yaml'
2
+
3
+ module RPCMapper::Serialization
4
+
5
+ module ClassMethods
6
+
7
+ def serialize(fields)
8
+ [*fields].each do |field|
9
+ serialized_attributes << field
10
+
11
+ define_method("deserialize_#{field}") do
12
+ YAML.load(self[field]) rescue self[field]
13
+ end
14
+
15
+ alias_method "#{field}_raw", field
16
+ alias_method field, "deserialize_#{field}"
17
+
18
+ set_serialize_writers(field) if self.mutable
19
+
20
+ end
21
+ end
22
+
23
+ def set_serialize_writers(field)
24
+ define_method("serialize_#{field}") do |value|
25
+ self[field] = value.to_yaml
26
+ end
27
+
28
+ alias_method "#{field}_raw=", "#{field}="
29
+ alias_method "#{field}=", "serialize_#{field}"
30
+ end
31
+
32
+ end
33
+
34
+ module InstanceMethods
35
+
36
+ end
37
+
38
+ def self.included(receiver)
39
+ receiver.class_eval do
40
+ class_inheritable_accessor :serialized_attributes
41
+ self.serialized_attributes = []
42
+ end
43
+
44
+ receiver.extend ClassMethods
45
+ receiver.send :include, InstanceMethods
46
+ end
47
+
48
+ end
@@ -0,0 +1,13 @@
1
+ module RPCMapper
2
+ module Version
3
+
4
+ MAJOR = 0
5
+ MINOR = 0
6
+ TINY = 1
7
+
8
+ def self.to_s # :nodoc:
9
+ [MAJOR, MINOR, TINY].join('.')
10
+ end
11
+
12
+ end
13
+ end
data/lib/rpc_mapper.rb ADDED
@@ -0,0 +1,30 @@
1
+ require 'bert'
2
+ require 'bertrpc'
3
+
4
+ module RPCMapper
5
+ @@log_file = nil
6
+
7
+ def self.logger
8
+ @@logger ||= default_logger
9
+ end
10
+
11
+ def self.logger=(logger)
12
+ @@logger = logger
13
+ end
14
+
15
+ def self.log_file=(file)
16
+ @@log_file = file
17
+ end
18
+
19
+ def self.default_logger
20
+ if defined?(Rails)
21
+ Rails.logger
22
+ else
23
+ require 'logger' unless defined?(::Logger)
24
+ ::Logger.new(@@log_file)
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ require 'rpc_mapper/base'
metadata ADDED
@@ -0,0 +1,184 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rpc-mapper
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Travis Petticrew
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-09-01 00:00:00 -05:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: shoulda
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 39
30
+ segments:
31
+ - 2
32
+ - 10
33
+ - 0
34
+ version: 2.10.0
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: leftright
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 19
46
+ segments:
47
+ - 0
48
+ - 0
49
+ - 6
50
+ version: 0.0.6
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: fakeweb
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 27
62
+ segments:
63
+ - 1
64
+ - 3
65
+ - 0
66
+ version: 1.3.0
67
+ type: :development
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: factory_girl
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
80
+ version: "0"
81
+ type: :development
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: activesupport
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 2
94
+ - 3
95
+ - 0
96
+ version: 2.3.0
97
+ type: :runtime
98
+ version_requirements: *id005
99
+ - !ruby/object:Gem::Dependency
100
+ name: bertrpc
101
+ prerelease: false
102
+ requirement: &id006 !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ hash: 27
108
+ segments:
109
+ - 1
110
+ - 3
111
+ - 0
112
+ version: 1.3.0
113
+ type: :runtime
114
+ version_requirements: *id006
115
+ description:
116
+ email: bobo@petticrew.net
117
+ executables: []
118
+
119
+ extensions: []
120
+
121
+ extra_rdoc_files:
122
+ - README.rdoc
123
+ files:
124
+ - README.rdoc
125
+ - Rakefile
126
+ - lib/rpc_mapper/adapters/abstract_adapter.rb
127
+ - lib/rpc_mapper/adapters/bertrpc_adapter.rb
128
+ - lib/rpc_mapper/adapters.rb
129
+ - lib/rpc_mapper/associations/common.rb
130
+ - lib/rpc_mapper/associations/contains.rb
131
+ - lib/rpc_mapper/associations/external.rb
132
+ - lib/rpc_mapper/base.rb
133
+ - lib/rpc_mapper/cacheable/entry.rb
134
+ - lib/rpc_mapper/cacheable/store.rb
135
+ - lib/rpc_mapper/cacheable.rb
136
+ - lib/rpc_mapper/config_options.rb
137
+ - lib/rpc_mapper/core_ext/kernel/singleton_class.rb
138
+ - lib/rpc_mapper/logger.rb
139
+ - lib/rpc_mapper/mutable.rb
140
+ - lib/rpc_mapper/relation/finder_methods.rb
141
+ - lib/rpc_mapper/relation/query_methods.rb
142
+ - lib/rpc_mapper/relation.rb
143
+ - lib/rpc_mapper/scopes/conditions.rb
144
+ - lib/rpc_mapper/scopes.rb
145
+ - lib/rpc_mapper/serialization.rb
146
+ - lib/rpc_mapper/version.rb
147
+ - lib/rpc_mapper.rb
148
+ has_rdoc: true
149
+ homepage: http://github.com/tpett/rpc-mapper
150
+ licenses: []
151
+
152
+ post_install_message:
153
+ rdoc_options:
154
+ - --main
155
+ - README.rdoc
156
+ require_paths:
157
+ - lib
158
+ required_ruby_version: !ruby/object:Gem::Requirement
159
+ none: false
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ hash: 3
164
+ segments:
165
+ - 0
166
+ version: "0"
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ none: false
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ hash: 3
173
+ segments:
174
+ - 0
175
+ version: "0"
176
+ requirements: []
177
+
178
+ rubyforge_project:
179
+ rubygems_version: 1.3.7
180
+ signing_key:
181
+ specification_version: 3
182
+ summary: Ruby library for querying and mapping data over RPC
183
+ test_files: []
184
+