ambition 0.5.0 → 0.5.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/Manifest +6 -5
- data/ambition.gemspec +5 -5
- data/app_generators/ambition_adapter/ambition_adapter_generator.rb +2 -2
- data/app_generators/ambition_adapter/templates/lib/{base.rb.erb → adapter/base.rb.erb} +0 -0
- data/app_generators/ambition_adapter/templates/lib/{query.rb.erb → adapter/query.rb.erb} +0 -0
- data/app_generators/ambition_adapter/templates/lib/{select.rb.erb → adapter/select.rb.erb} +0 -0
- data/app_generators/ambition_adapter/templates/lib/{slice.rb.erb → adapter/slice.rb.erb} +0 -0
- data/app_generators/ambition_adapter/templates/lib/{sort.rb.erb → adapter/sort.rb.erb} +0 -0
- data/lib/ambition/api.rb +1 -1
- data/lib/ambition/core_ext.rb +0 -32
- data/lib/ambition/processors/base.rb +3 -2
- data/lib/ambition/processors/ruby.rb +2 -0
- data/lib/ambition/processors/select.rb +2 -2
- data/lib/ambition/sexp_translator.rb +15 -0
- data/lib/ambition.rb +1 -0
- metadata +8 -7
data/Manifest
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
app_generators/ambition_adapter/ambition_adapter_generator.rb
|
2
|
-
app_generators/ambition_adapter/templates/lib/base.rb.erb
|
2
|
+
app_generators/ambition_adapter/templates/lib/adapter/base.rb.erb
|
3
|
+
app_generators/ambition_adapter/templates/lib/adapter/query.rb.erb
|
4
|
+
app_generators/ambition_adapter/templates/lib/adapter/select.rb.erb
|
5
|
+
app_generators/ambition_adapter/templates/lib/adapter/slice.rb.erb
|
6
|
+
app_generators/ambition_adapter/templates/lib/adapter/sort.rb.erb
|
3
7
|
app_generators/ambition_adapter/templates/lib/init.rb.erb
|
4
|
-
app_generators/ambition_adapter/templates/lib/query.rb.erb
|
5
|
-
app_generators/ambition_adapter/templates/lib/select.rb.erb
|
6
|
-
app_generators/ambition_adapter/templates/lib/slice.rb.erb
|
7
|
-
app_generators/ambition_adapter/templates/lib/sort.rb.erb
|
8
8
|
app_generators/ambition_adapter/templates/LICENSE
|
9
9
|
app_generators/ambition_adapter/templates/Rakefile
|
10
10
|
app_generators/ambition_adapter/templates/README
|
@@ -23,6 +23,7 @@ lib/ambition/processors/ruby.rb
|
|
23
23
|
lib/ambition/processors/select.rb
|
24
24
|
lib/ambition/processors/slice.rb
|
25
25
|
lib/ambition/processors/sort.rb
|
26
|
+
lib/ambition/sexp_translator.rb
|
26
27
|
lib/ambition.rb
|
27
28
|
LICENSE
|
28
29
|
Manifest
|
data/ambition.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
|
2
|
-
# Gem::Specification for Ambition-0.5.
|
2
|
+
# Gem::Specification for Ambition-0.5.1
|
3
3
|
# Originally generated by Echoe
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = %q{ambition}
|
7
|
-
s.version = "0.5.
|
8
|
-
s.date = %q{2008-
|
7
|
+
s.version = "0.5.1"
|
8
|
+
s.date = %q{2008-02-16}
|
9
9
|
s.summary = %q{Ambition builds yer API calls from plain jane Ruby.}
|
10
10
|
s.email = %q{chris@ozmm.org}
|
11
11
|
s.homepage = %q{http://errtheblog.com/}
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.has_rdoc = true
|
16
16
|
s.required_ruby_version = Gem::Version::Requirement.new(">= 1.8.6")
|
17
17
|
s.authors = ["Chris Wanstrath"]
|
18
|
-
s.files = ["app_generators/ambition_adapter/ambition_adapter_generator.rb", "app_generators/ambition_adapter/templates/lib/base.rb.erb", "app_generators/ambition_adapter/templates/lib/
|
18
|
+
s.files = ["app_generators/ambition_adapter/ambition_adapter_generator.rb", "app_generators/ambition_adapter/templates/lib/adapter/base.rb.erb", "app_generators/ambition_adapter/templates/lib/adapter/query.rb.erb", "app_generators/ambition_adapter/templates/lib/adapter/select.rb.erb", "app_generators/ambition_adapter/templates/lib/adapter/slice.rb.erb", "app_generators/ambition_adapter/templates/lib/adapter/sort.rb.erb", "app_generators/ambition_adapter/templates/lib/init.rb.erb", "app_generators/ambition_adapter/templates/LICENSE", "app_generators/ambition_adapter/templates/Rakefile", "app_generators/ambition_adapter/templates/README", "app_generators/ambition_adapter/templates/test/helper.rb.erb", "app_generators/ambition_adapter/templates/test/select_test.rb.erb", "app_generators/ambition_adapter/templates/test/slice_test.rb.erb", "app_generators/ambition_adapter/templates/test/sort_test.rb.erb", "app_generators/ambition_adapter/USAGE", "bin/ambition_adapter", "lib/ambition/api.rb", "lib/ambition/context.rb", "lib/ambition/core_ext.rb", "lib/ambition/enumerable.rb", "lib/ambition/processors/base.rb", "lib/ambition/processors/ruby.rb", "lib/ambition/processors/select.rb", "lib/ambition/processors/slice.rb", "lib/ambition/processors/sort.rb", "lib/ambition/sexp_translator.rb", "lib/ambition.rb", "LICENSE", "Manifest", "README", "test/adapters/exemplar/association_test.rb", "test/adapters/exemplar/count_test.rb", "test/adapters/exemplar/detect_test.rb", "test/adapters/exemplar/enumerable_test.rb", "test/adapters/exemplar/helper.rb", "test/adapters/exemplar/index_operator.rb", "test/adapters/exemplar/reject_test.rb", "test/adapters/exemplar/select_test.rb", "test/adapters/exemplar/slice_test.rb", "test/adapters/exemplar/sort_test.rb", "test/debug", "test/helper.rb", "ambition.gemspec"]
|
19
19
|
s.executables = ["ambition_adapter"]
|
20
20
|
s.add_dependency(%q<ParseTree>, ["= 2.0.1"])
|
21
21
|
s.add_dependency(%q<ruby2ruby>, ["= 1.1.7"])
|
@@ -29,7 +29,7 @@ end
|
|
29
29
|
# require 'rake/testtask'
|
30
30
|
# require 'rake/rdoctask'
|
31
31
|
#
|
32
|
-
# Version = '0.5.
|
32
|
+
# Version = '0.5.1'
|
33
33
|
#
|
34
34
|
# module Rake::TaskManager
|
35
35
|
# def delete_task(task_class, *args, &block)
|
@@ -29,7 +29,7 @@ class AmbitionAdapterGenerator < RubiGen::Base
|
|
29
29
|
adapter_path = "lib/ambition/adapters/#{adapter_name}"
|
30
30
|
|
31
31
|
%w( base query select slice sort ).each do |file|
|
32
|
-
m.template "lib/#{file}.rb.erb", "#{adapter_path}/#{file}.rb"
|
32
|
+
m.template "lib/adapter/#{file}.rb.erb", "#{adapter_path}/#{file}.rb"
|
33
33
|
end
|
34
34
|
|
35
35
|
m.template 'lib/init.rb.erb', "#{adapter_path}.rb"
|
@@ -52,7 +52,7 @@ class AmbitionAdapterGenerator < RubiGen::Base
|
|
52
52
|
|
53
53
|
protected
|
54
54
|
def banner
|
55
|
-
"
|
55
|
+
"Usage: ambition_adapter adapter_name"
|
56
56
|
end
|
57
57
|
|
58
58
|
def add_options!(opts)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/ambition/api.rb
CHANGED
data/lib/ambition/core_ext.rb
CHANGED
@@ -1,38 +1,6 @@
|
|
1
|
-
##
|
2
|
-
# Taken from ruby2ruby, Copyright (c) 2006 Ryan Davis under the MIT License
|
3
|
-
require 'parse_tree'
|
4
|
-
require 'ruby2ruby'
|
5
|
-
|
6
1
|
class Object
|
7
|
-
def to_sexp
|
8
|
-
instance_eval <<-end_eval
|
9
|
-
return proc { #{inspect} }.to_sexp.last
|
10
|
-
end_eval
|
11
|
-
end
|
12
|
-
|
13
2
|
def metaclass; (class << self; self end) end
|
14
3
|
def meta_eval(&blk) metaclass.instance_eval(&blk) end
|
15
4
|
def meta_def(name, &blk) meta_eval { define_method name, &blk } end
|
16
5
|
def class_def(name, &blk) class_eval { define_method name, &blk } end
|
17
6
|
end
|
18
|
-
|
19
|
-
class ProcHolder
|
20
|
-
end
|
21
|
-
|
22
|
-
class Method
|
23
|
-
def to_sexp
|
24
|
-
ParseTree.translate(ProcHolder, :proc_to_method)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
class Proc
|
29
|
-
def to_method
|
30
|
-
ProcHolder.send(:define_method, :proc_to_method, self)
|
31
|
-
ProcHolder.new.method(:proc_to_method)
|
32
|
-
end
|
33
|
-
|
34
|
-
def to_sexp
|
35
|
-
body = to_method.to_sexp[2][1..-1]
|
36
|
-
[:proc, *body]
|
37
|
-
end
|
38
|
-
end
|
@@ -82,7 +82,7 @@ module Ambition
|
|
82
82
|
##
|
83
83
|
# Helper methods
|
84
84
|
def to_s
|
85
|
-
process @block
|
85
|
+
process SexpTranslator.translate(@block)
|
86
86
|
end
|
87
87
|
|
88
88
|
def key
|
@@ -104,10 +104,11 @@ module Ambition
|
|
104
104
|
|
105
105
|
unless instance.respond_to? :context
|
106
106
|
klass.class_eval do
|
107
|
-
attr_accessor :context
|
107
|
+
attr_accessor :context, :negated
|
108
108
|
def owner; @context.owner end
|
109
109
|
def clauses; @context.clauses end
|
110
110
|
def stash; @context.stash end
|
111
|
+
def negated?; @negated end
|
111
112
|
end
|
112
113
|
end
|
113
114
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'parse_tree'
|
2
|
+
|
3
|
+
module Ambition
|
4
|
+
class SexpTranslator
|
5
|
+
@@block_cache = {}
|
6
|
+
|
7
|
+
def self.translate(block)
|
8
|
+
@@block_cache[block.to_s] ||= begin
|
9
|
+
klass = Class.new { define_method(:proc_to_method, block) }
|
10
|
+
body = ParseTree.translate(klass, :proc_to_method)[2][1..-1]
|
11
|
+
[:proc, *body]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/ambition.rb
CHANGED
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: ambition
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.5.
|
7
|
-
date: 2008-
|
6
|
+
version: 0.5.1
|
7
|
+
date: 2008-02-16 00:00:00 -08:00
|
8
8
|
summary: Ambition builds yer API calls from plain jane Ruby.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,12 +30,12 @@ authors:
|
|
30
30
|
- Chris Wanstrath
|
31
31
|
files:
|
32
32
|
- app_generators/ambition_adapter/ambition_adapter_generator.rb
|
33
|
-
- app_generators/ambition_adapter/templates/lib/base.rb.erb
|
33
|
+
- app_generators/ambition_adapter/templates/lib/adapter/base.rb.erb
|
34
|
+
- app_generators/ambition_adapter/templates/lib/adapter/query.rb.erb
|
35
|
+
- app_generators/ambition_adapter/templates/lib/adapter/select.rb.erb
|
36
|
+
- app_generators/ambition_adapter/templates/lib/adapter/slice.rb.erb
|
37
|
+
- app_generators/ambition_adapter/templates/lib/adapter/sort.rb.erb
|
34
38
|
- app_generators/ambition_adapter/templates/lib/init.rb.erb
|
35
|
-
- app_generators/ambition_adapter/templates/lib/query.rb.erb
|
36
|
-
- app_generators/ambition_adapter/templates/lib/select.rb.erb
|
37
|
-
- app_generators/ambition_adapter/templates/lib/slice.rb.erb
|
38
|
-
- app_generators/ambition_adapter/templates/lib/sort.rb.erb
|
39
39
|
- app_generators/ambition_adapter/templates/LICENSE
|
40
40
|
- app_generators/ambition_adapter/templates/Rakefile
|
41
41
|
- app_generators/ambition_adapter/templates/README
|
@@ -54,6 +54,7 @@ files:
|
|
54
54
|
- lib/ambition/processors/select.rb
|
55
55
|
- lib/ambition/processors/slice.rb
|
56
56
|
- lib/ambition/processors/sort.rb
|
57
|
+
- lib/ambition/sexp_translator.rb
|
57
58
|
- lib/ambition.rb
|
58
59
|
- LICENSE
|
59
60
|
- Manifest
|