activerecord-nuodb-adapter 1.0.0.rc.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/.buildpath ADDED
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <buildpath>
3
+ <buildpathentry kind="src" path="lib"/>
4
+ <buildpathentry kind="con" path="org.eclipse.dltk.launching.INTERPRETER_CONTAINER"/>
5
+ </buildpath>
data/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ pkg
2
+ .idea
3
+ rdoc
data/AUTHORS ADDED
@@ -0,0 +1,4 @@
1
+ # Authors ordered by first contribution.
2
+
3
+ Dave Meppelink <davemepp@gmail.com>
4
+
data/COPYING ADDED
@@ -0,0 +1,25 @@
1
+ Copyright (c) 2012, NuoDB, Inc.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+ * Neither the name of NuoDB, Inc. nor the names of its contributors may
13
+ be used to endorse or promote products derived from this software
14
+ without specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL NUODB, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group(:development, :test) do
6
+ gem 'rake'
7
+ gem 'rake-compiler'
8
+ gem 'rdoc'
9
+ end
data/History.txt ADDED
@@ -0,0 +1,4 @@
1
+ === 1.0.0
2
+
3
+ First release of the ActiveRecord NuoDB Adapter.
4
+
data/LICENSE ADDED
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2012, NuoDB, Inc.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+ * Neither the name of NuoDB, Inc. nor the names of its contributors may
13
+ be used to endorse or promote products derived from this software
14
+ without specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL NUODB, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
24
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
data/Manifest.txt ADDED
@@ -0,0 +1,11 @@
1
+ COPYING
2
+ History.txt
3
+ Manifest.txt
4
+ README.md
5
+ Rakefile
6
+ lib/active_record/connection_adapters/nuodb/database_statements.rb
7
+ lib/active_record/connection_adapters/nuodb/version.rb
8
+ lib/active_record/connection_adapters/nuodb_adapter.rb
9
+ lib/activerecord-nuodb-adapter.rb
10
+ lib/arel/visitors/nuodb.rb
11
+ test/simple.rb
data/README.rdoc ADDED
@@ -0,0 +1,69 @@
1
+ = Ruby ActiveRecord NuoDB Adapter
2
+
3
+ == DESCRIPTION
4
+
5
+ This is the NuoDB ActiveRecord Adapter.
6
+
7
+ == BUILDING THE GEM
8
+
9
+ To compile and test run this command:
10
+
11
+ rake clean build
12
+
13
+ == INSTALLING THE GEM
14
+
15
+ gem install activerecord-nuodb-adapter-1.0.0.rc.1.gem
16
+
17
+ Or from the source tree:
18
+
19
+ gem install pkg/activerecord-nuodb-adapter-1.0.0.rc.1.gem
20
+
21
+ Or you can do this using Rake:
22
+
23
+ rake clean build uninstall install
24
+
25
+ == TESTING THE GEM
26
+
27
+ Start up a minimal chorus as follows:
28
+
29
+ java -jar ${NUODB_ROOT}/jar/nuoagent.jar --broker &
30
+ ${NUODB_ROOT}/bin/nuodb --chorus test --password bar --dba-user dba --dba-password baz &
31
+
32
+ Create a user in the database:
33
+
34
+ ${NUODB_ROOT}/bin/nuosql test@localhost --user dba --password baz
35
+ > create user cloud password 'user';
36
+ > exit
37
+
38
+ Run the tests:
39
+
40
+ rake test
41
+
42
+ == PUBLISHING THE GEM
43
+
44
+ === TAGGING
45
+
46
+ Tag the product using tags per the SemVer specification; our tags have a v-prefix:
47
+
48
+ git tag -a v1.0.0-rc.1 -m "SemVer Version: v1.0.0-rc.1"
49
+ git push --tags
50
+
51
+ If you make a mistake, take it back quickly:
52
+
53
+ git tag -d v1.0.0-rc.1
54
+ git push origin :refs/tags/v1.0.0-rc.1
55
+
56
+ ===PUBLISHING
57
+
58
+ Here are the commands used to publish:
59
+
60
+ gem push pkg/nuodb-1.0.0.rc.1.gem
61
+
62
+ == INSPECTING THE GEM
63
+
64
+ It is often useful to inspect the contents of a Gem before distribution.
65
+ To do this you dump the contents of a gem thus:
66
+
67
+ gem unpack pkg/activerecord-nuodb-adapter-1.0.0.rc.1.gem
68
+
69
+ == REFERENCES
data/Rakefile ADDED
@@ -0,0 +1,134 @@
1
+ #
2
+ # Copyright (c) 2012, NuoDB, Inc.
3
+ # All rights reserved.
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are met:
7
+ #
8
+ # * Redistributions of source code must retain the above copyright
9
+ # notice, this list of conditions and the following disclaimer.
10
+ # * Redistributions in binary form must reproduce the above copyright
11
+ # notice, this list of conditions and the following disclaimer in the
12
+ # documentation and/or other materials provided with the distribution.
13
+ # * Neither the name of NuoDB, Inc. nor the names of its contributors may
14
+ # be used to endorse or promote products derived from this software
15
+ # without specific prior written permission.
16
+ #
17
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ # DISCLAIMED. IN NO EVENT SHALL NUODB, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
21
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
+ # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
+ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ #
28
+
29
+ require 'rubygems'
30
+ require 'rake'
31
+ require 'rake/clean'
32
+ require 'rake/testtask'
33
+ require 'rdoc/task'
34
+ require 'date'
35
+
36
+ #############################################################################
37
+ #
38
+ # Helper functions
39
+ #
40
+ #############################################################################
41
+
42
+ def name
43
+ @name ||= Dir['*.gemspec'].first.split('.').first
44
+ end
45
+
46
+ def version
47
+ require File.expand_path('../lib/active_record/connection_adapters/nuodb/version', __FILE__)
48
+ ActiveRecord::ConnectionAdapters::NuoDB::VERSION
49
+ end
50
+
51
+ def rubyforge_project
52
+ name
53
+ end
54
+
55
+ def date
56
+ Date.today.to_s
57
+ end
58
+
59
+ def gemspec_file
60
+ "#{name}.gemspec"
61
+ end
62
+
63
+ def gem_file
64
+ "#{name}-#{version}.gem"
65
+ end
66
+
67
+ def replace_header(head, header_name)
68
+ head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'" }
69
+ end
70
+
71
+
72
+ def so_ext
73
+ case RUBY_PLATFORM
74
+ when /bsd/i, /darwin/i
75
+ # extras here...
76
+ @sh_extension = 'bundle'
77
+ when /linux/i
78
+ # extras here...
79
+ @sh_extension = 'so'
80
+ when /solaris|sunos/i
81
+ # extras here...
82
+ @sh_extension = 'so'
83
+ else
84
+ puts
85
+ puts "Unsupported platform '#{RUBY_PLATFORM}'. Supported platforms are BSD, DARWIN, and LINUX."
86
+ exit
87
+ end
88
+ end
89
+
90
+ #############################################################################
91
+ #
92
+ # Standard tasks
93
+ #
94
+ #############################################################################
95
+
96
+ CLEAN.include('pkg')
97
+
98
+ require 'rdoc/task'
99
+ Rake::RDocTask.new do |rdoc|
100
+ rdoc.rdoc_dir = 'rdoc'
101
+ rdoc.title = "#{name} #{version}"
102
+ rdoc.rdoc_files.include('README*')
103
+ rdoc.rdoc_files.include('lib/**/*.rb')
104
+ end
105
+
106
+ Rake::TestTask.new do |t|
107
+ t.libs << 'test'
108
+ t.test_files = FileList['test/test*.rb']
109
+ end
110
+
111
+ task :default => :test
112
+
113
+ #############################################################################
114
+ #
115
+ # Packaging tasks
116
+ #
117
+ #############################################################################
118
+
119
+ GEM_NAME = "activerecord-nuodb-adapter"
120
+
121
+ desc "Build #{gem_file} into the pkg directory"
122
+ task :build do
123
+ sh "mkdir -p pkg"
124
+ sh "gem build #{gemspec_file}"
125
+ sh "mv #{gem_file} pkg"
126
+ end
127
+
128
+ task :install => :build do
129
+ sh %{gem install pkg/#{GEM_NAME}-#{ActiveRecord::ConnectionAdapters::NuoDB::VERSION} --no-rdoc --no-ri}
130
+ end
131
+
132
+ task :uninstall do
133
+ sh %{gem uninstall #{GEM_NAME} -x -v #{ActiveRecord::ConnectionAdapters::NuoDB::VERSION}}
134
+ end
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/active_record/connection_adapters/nuodb/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = 'activerecord-nuodb-adapter'
6
+ gem.version = ActiveRecord::ConnectionAdapters::NuoDB::VERSION
7
+ gem.authors = ['Robert Buck']
8
+ gem.email = %w(support@nuodb.com)
9
+ gem.description = %q{An adapter for ActiveRecord and AREL to support the NuoDB distributed database backend.}
10
+ gem.summary = %q{ActiveRecord adapter with AREL support for NuoDB.}
11
+ gem.homepage = 'http://nuodb.github.com/ruby-activerecord-nuodb-adapter/'
12
+ gem.license = 'BSD'
13
+
14
+ gem.rdoc_options = %w(--charset=UTF-8)
15
+ gem.extra_rdoc_files = %w[README.rdoc]
16
+
17
+ gem.add_dependency('activerecord', '~> 3.2.8')
18
+ gem.add_development_dependency('rake', '~> 0.9')
19
+ gem.add_development_dependency('rdoc', '~> 3.10')
20
+ gem.add_dependency('nuodb', '~> 1.0.0.rc.1')
21
+
22
+ gem.files = `git ls-files`.split($\)
23
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
24
+ gem.require_paths = %w(lib)
25
+ end
@@ -0,0 +1,35 @@
1
+ #
2
+ # Copyright (c) 2012, NuoDB, Inc.
3
+ # All rights reserved.
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are met:
7
+ #
8
+ # * Redistributions of source code must retain the above copyright
9
+ # notice, this list of conditions and the following disclaimer.
10
+ # * Redistributions in binary form must reproduce the above copyright
11
+ # notice, this list of conditions and the following disclaimer in the
12
+ # documentation and/or other materials provided with the distribution.
13
+ # * Neither the name of NuoDB, Inc. nor the names of its contributors may
14
+ # be used to endorse or promote products derived from this software
15
+ # without specific prior written permission.
16
+ #
17
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ # DISCLAIMED. IN NO EVENT SHALL NUODB, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
21
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23
+ # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
+ # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
+ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ #
28
+
29
+ module ActiveRecord
30
+ module ConnectionAdapters
31
+ module NuoDB
32
+ VERSION = '1.0.0.rc.1'
33
+ end
34
+ end
35
+ end