fluent-query-sql 0.9.0

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,54 @@
1
+ # encoding: utf-8
2
+ require "fluent-query/query"
3
+
4
+ module FluentQuery
5
+ module Queries
6
+
7
+ ##
8
+ # Represents SQL query.
9
+ # It ensures calls occupied by Ruby. (For example 'select()'.)
10
+ #
11
+
12
+ class SQL < FluentQuery::Query
13
+
14
+ NONALPHA_REPLACER = /[^a-zA-Z0-9]/
15
+
16
+ ##
17
+ # Catches missing methods calls. Converts them to tokens.
18
+ # In token names starting with '_' skips non-alfanumeric characters.
19
+ #
20
+
21
+ def method_missing(sym, *args, &block)
22
+ # If name starts with underscore, strips non-alfa numeric characters out
23
+ sym = sym.to_s
24
+
25
+ if sym[0].ord == 95 # "_"
26
+ sym.gsub!(self.class::NONALPHA_REPLACER, "")
27
+ end
28
+
29
+ return super(sym.to_sym, *args, &block)
30
+ end
31
+
32
+ ##
33
+ # Ensures processor call of parent classes which isn't
34
+ # handled well from unknown reason via extending and
35
+ # falls to method_missing(...).
36
+ #
37
+
38
+ def processor
39
+ super()
40
+ end
41
+
42
+ ##
43
+ # Ensures 'select()' call occupied by Ruby.
44
+ #
45
+
46
+ def select(*args)
47
+ self.push_token(:select, args)
48
+ return self
49
+ end
50
+
51
+ end
52
+
53
+ end
54
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fluent-query-sql
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.9.0
6
+ platform: ruby
7
+ authors:
8
+ - "Martin Koz\xC3\xA1k"
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-07-14 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hash-utils
17
+ requirement: &id001 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.18.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: abstract
28
+ requirement: &id002 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: fluent-query
39
+ requirement: &id003 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 0.9.0
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: &id004 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 1.0.13
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
60
+ name: jeweler
61
+ requirement: &id005 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 1.6.0
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *id005
70
+ description:
71
+ email: martinkozak@martinkozak.net
72
+ executables: []
73
+
74
+ extensions: []
75
+
76
+ extra_rdoc_files:
77
+ - LICENSE.txt
78
+ - README.md
79
+ files:
80
+ - .document
81
+ - Gemfile
82
+ - Gemfile.lock
83
+ - LICENSE.txt
84
+ - README.md
85
+ - Rakefile
86
+ - VERSION
87
+ - fluent-query-sql.gemspec
88
+ - lib/fluent-query/drivers/shared/tokens/sql.rb
89
+ - lib/fluent-query/drivers/shared/tokens/sql/delete.rb
90
+ - lib/fluent-query/drivers/shared/tokens/sql/from.rb
91
+ - lib/fluent-query/drivers/shared/tokens/sql/groupby.rb
92
+ - lib/fluent-query/drivers/shared/tokens/sql/having.rb
93
+ - lib/fluent-query/drivers/shared/tokens/sql/insert.rb
94
+ - lib/fluent-query/drivers/shared/tokens/sql/join.rb
95
+ - lib/fluent-query/drivers/shared/tokens/sql/orderby.rb
96
+ - lib/fluent-query/drivers/shared/tokens/sql/select.rb
97
+ - lib/fluent-query/drivers/shared/tokens/sql/set.rb
98
+ - lib/fluent-query/drivers/shared/tokens/sql/truncate.rb
99
+ - lib/fluent-query/drivers/shared/tokens/sql/union.rb
100
+ - lib/fluent-query/drivers/shared/tokens/sql/update.rb
101
+ - lib/fluent-query/drivers/shared/tokens/sql/where.rb
102
+ - lib/fluent-query/drivers/sql.rb
103
+ - lib/fluent-query/queries/sql.rb
104
+ homepage: http://github.com/martinkozak/fluent-query-sql
105
+ licenses:
106
+ - MIT
107
+ post_install_message:
108
+ rdoc_options: []
109
+
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 765682937217739851
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: "0"
127
+ requirements: []
128
+
129
+ rubyforge_project:
130
+ rubygems_version: 1.8.5
131
+ signing_key:
132
+ specification_version: 3
133
+ summary: Generic SQL support for the Fluent Query. Fluent Query is cool way how to write SQL queries in Ruby. Contains base libraries used by specific SQL driver.
134
+ test_files: []
135
+