flounder 0.11.6 → 0.11.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76dff20170b73d435d8031c55fbfdc351a50de2e
4
- data.tar.gz: fd03c13174d8f59b0d1920ab40756fc87e06be99
3
+ metadata.gz: 40563f93ef03c6003326865768ad7c1b9db8e8f5
4
+ data.tar.gz: 2b98f903f37a846635937120b5fda6747be4fd5d
5
5
  SHA512:
6
- metadata.gz: d48b7d9ef4003ba6d3c1a661852e21675108c918e55f540b588f087a56f04d4563bff05d2c6e1db428c377faa097993cb2ec4734e0994f39c28427ce7fc9c1c8
7
- data.tar.gz: de7d5743d7ec8253d240df7b67505d52f7aa985562ce65f5f35ad30c78a4de447b44292602750924ba306765c48565daaa3680065fe67ac2af542d9e1987c125
6
+ metadata.gz: 3fa1f0d537188df5b47f953193172267b34df442f88bd1c9ec066f40d38c5febd3ff3c54bf9d155366c488e7ca614cf1f53f7246c5c3273a60f864fa10b49a4e
7
+ data.tar.gz: c8aee48a61009a255747fd3d80728661fd47087c4ac5a2f5e72b0aa385f357655c1c97492b109ace3a17bfa9d789999f002eee1b0ce7efdb325661bbdb6a8a33
data/HISTORY CHANGED
@@ -6,6 +6,7 @@
6
6
  + native treatment of hstore - returns you a hashie::mash.
7
7
  + Fixes a bug where limit would leak the SelectManager.
8
8
  + Also deals with the situation where hstore doesn't exist.
9
+ + #fields method on the entity, returning an array of fields, like values_at.
9
10
 
10
11
  # 0.10
11
12
  + Datamapper interop is improved (also in #order_by)
data/flounder.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "flounder"
5
- s.version = '0.11.6'
5
+ s.version = '0.11.7'
6
6
  s.summary = "Flounder is a way to write SQL simply in Ruby. It deals with everything BUT object relational mapping. "
7
7
  s.email = "kaspar.schiess@technologyastronauts.ch"
8
8
  s.homepage = "https://bitbucket.org/technologyastronauts/oss_flounder"
@@ -57,10 +57,14 @@ module Flounder
57
57
  def [] name
58
58
  Field.new(self, name, table[name])
59
59
  end
60
+ def fields *names
61
+ names.map { |name| self[name] }
62
+ end
60
63
 
61
- def to_s
62
- "entity(#{name}/#{table_name})"
64
+ def inspect
65
+ "<Flounder/Entity #{name}(#{table_name})>"
63
66
  end
67
+ alias to_s inspect
64
68
 
65
69
  # Starts a new select query and yields it to the block. Note that you don't
66
70
  # need to call this method to obtain a select query - any of the methods
@@ -31,6 +31,21 @@ module Flounder
31
31
  arel_field
32
32
  end
33
33
 
34
+ # Allow comparison and inclusion in hashes.
35
+ def == other
36
+ self.entity == other.entity && self.name == other.name
37
+ end
38
+ alias eql? ==
39
+ def hash
40
+ self.entity.hash ^ self.name.hash
41
+ end
42
+
43
+ # Allow printing for debug purposes
44
+ def inspect
45
+ "<Flounder/Field #{entity} #{name}>"
46
+ end
47
+ alias to_s inspect
48
+
34
49
  include SymbolExtensions
35
50
  end
36
51
  end
data/qed/entities.md ADDED
@@ -0,0 +1,20 @@
1
+
2
+
3
+ Flounder entities are your door to the database. They permit all sorts of meta-manipulation of database tables and fields.
4
+
5
+ You can get an array of field values.
6
+
7
+ ~~~ruby
8
+ users.fields(:id, :name).assert == [:id, :name].map { |f| users[f] }
9
+ ~~~
10
+
11
+ These very same field names print nicely for debugging.
12
+
13
+ ~~~ruby
14
+ users[:id].inspect.assert ==
15
+ "<Flounder/Field <Flounder/Entity users(users)> id>"
16
+ ~~~
17
+
18
+
19
+
20
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flounder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.6
4
+ version: 0.11.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaspar Schiess
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-04 00:00:00.000000000 Z
12
+ date: 2014-09-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: arel
@@ -107,7 +107,6 @@ executables: []
107
107
  extensions: []
108
108
  extra_rdoc_files: []
109
109
  files:
110
- - flounder-0.11.5.gem
111
110
  - flounder.gemspec
112
111
  - Gemfile
113
112
  - Gemfile.lock
@@ -139,6 +138,7 @@ files:
139
138
  - qed/conditions.md
140
139
  - qed/database_technicalities.md
141
140
  - qed/delete.md
141
+ - qed/entities.md
142
142
  - qed/exceptions.md
143
143
  - qed/flounder.sql
144
144
  - qed/index.md
@@ -183,6 +183,7 @@ test_files:
183
183
  - qed/conditions.md
184
184
  - qed/database_technicalities.md
185
185
  - qed/delete.md
186
+ - qed/entities.md
186
187
  - qed/exceptions.md
187
188
  - qed/flounder.sql
188
189
  - qed/index.md
data/flounder-0.11.5.gem DELETED
Binary file