relation 0.2.3 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6381b0fed7fc68aab0a9e3518e8e6148f16fcc292ea78536861c85cb597341ab
4
- data.tar.gz: 5994578fd40c339c169ef8f74fc04c24ed2d84bcf828187613d763d9bb105621
3
+ metadata.gz: bad787b4d9a048415f84ac84bb57b0d0c07b78172a2205db2364a1b1d5d23ee4
4
+ data.tar.gz: a3065ffcbeed05f69f53d0914dec79471f75cbdfc83ec302d251ddef90279a7b
5
5
  SHA512:
6
- metadata.gz: 6e7149d1b781f01f34ba6aecd9a4df859b1493b51be0ae3a56c51e59cd6204e205ab21b5398a17f9d64612b939d102f5246658b8b30efe3ae0bb0a215d16ce48
7
- data.tar.gz: 9b7d23050de06e0267c56cf6fe40c9ca04e419c83b9c7069f406a93e069a67368398f6dae091c93abdb41750cd042d3ef44d529fac6a7233458a843c0ea802a6
6
+ metadata.gz: 57b2b2295e4ecf25e5572cbd68f2b7dfcda2e5de192a7f10271bebbd0344b8d7607e8ad22ecddc5bbdfcb3390209d2285d17295345b6ea03b12c67a517610b2b
7
+ data.tar.gz: 97e971f2beb8a47dec9dcc70401e70493f53a309e9c705075ae030f9c7c448f62baa51ef923bd73eede89f864a136edd4a5b0a84802335ee2ebbb287c58e2e4b
data/.travis.yml CHANGED
@@ -23,8 +23,8 @@ rvm:
23
23
  gemfile:
24
24
  - gemfiles/rails_5.2.gemfile
25
25
  - gemfiles/rails_5.1.gemfile
26
- # - gemfiles/rails_5.0.gemfile
27
- - gemfiles/rails_4.gemfile
26
+ - gemfiles/rails_5.0.gemfile
27
+ # - gemfiles/rails_4.gemfile
28
28
 
29
29
  notifications:
30
30
  email: false
data/Appraisals CHANGED
@@ -1,8 +1,3 @@
1
- appraise 'rails-4' do
2
- gem 'rack', '< 2'
3
- gem 'rails', '= 4.2.3'
4
- end
5
-
6
1
  appraise 'rails-5.0' do
7
2
  gem 'rails', '~> 5.0.0'
8
3
  end
@@ -11,8 +11,8 @@ class Relation < ActiveRecord::Base
11
11
  models.each { |class_name|
12
12
  klass = class_name.constantize
13
13
  ids = klass.pluck(:id)
14
- idx = Relation.where('name like ?', "#{class_name} %").pluck(:x_id)
15
- idy = Relation.where('name like ?', "% #{class_name}").pluck(:y_id)
14
+ idx = Relation.where('name like ?', "#{class_name} %").pluck(:from_id)
15
+ idy = Relation.where('name like ?', "% #{class_name}").pluck(:to_id)
16
16
  arr = (idx | idy) - ids
17
17
  hsh[class_name] = arr if arr.length > 0
18
18
  }
@@ -22,8 +22,8 @@ class Relation < ActiveRecord::Base
22
22
  def self.remove_dangling(hsh)
23
23
  hsh.each { |name, arr|
24
24
  arr.each { |idx|
25
- Relation.where(x_id: idx).where('name like ?', "#{name} %").delete_all
26
- Relation.where(y_id: idx).where('name like ?', "% #{name}").delete_all
25
+ Relation.where(from_id: idx).where('name like ?', "#{name} %").delete_all
26
+ Relation.where(to_id: idx).where('name like ?', "% #{name}").delete_all
27
27
  }
28
28
  }
29
29
  end
@@ -1,21 +1,21 @@
1
1
  class Relation < ActiveRecord::Base
2
2
 
3
- def self.add_raw(name, id_from, id_to)
4
- hsh = { name: name, x_id: id_from, y_id: id_to }
3
+ def self.add_raw(name, from_id, to_id)
4
+ hsh = { name: name, from_id: from_id, to_id: to_id }
5
5
  Relation.create!(hsh) if Relation.where(hsh).first == nil
6
6
  end
7
7
 
8
- def self.delete_raw(name, id_from, id_to)
9
- hsh = { name: name, x_id: id_from, y_id: id_to }
8
+ def self.delete_raw(name, from_id, to_id)
9
+ hsh = { name: name, from_id: from_id, to_id: to_id }
10
10
  Relation.where(hsh).delete_all
11
11
  end
12
12
 
13
- def self.references_raw(name, id_from)
14
- Relation.where(name: name, x_id: id_from).pluck(:y_id)
13
+ def self.references_raw(name, from_id)
14
+ Relation.where(name: name, from_id: from_id).pluck(:to_id)
15
15
  end
16
16
 
17
- def self.followers_raw(name, id_to)
18
- Relation.where(name: name, y_id: id_to).pluck(:x_id)
17
+ def self.followers_raw(name, to_id)
18
+ Relation.where(name: name, to_id: to_id).pluck(:from_id)
19
19
  end
20
20
 
21
21
  end
@@ -12,16 +12,16 @@ class Relation < ActiveRecord::Base
12
12
  end
13
13
 
14
14
  def self.references(row, kind)
15
- klass, name, id_from = normalize2(kind, row)
15
+ klass, name, from_id = normalize2(kind, row)
16
16
  name = "#{name} #{klass.name}"
17
- ids = references_raw(name, id_from)
17
+ ids = references_raw(name, from_id)
18
18
  klass.where(id: ids)
19
19
  end
20
20
 
21
21
  def self.followers(kind, row)
22
- klass, name, id_to = normalize2(kind, row)
22
+ klass, name, to_id = normalize2(kind, row)
23
23
  name = "#{klass.name} #{name}"
24
- ids = followers_raw(name, id_to)
24
+ ids = followers_raw(name, to_id)
25
25
  klass.where(id: ids)
26
26
  end
27
27
 
@@ -32,10 +32,10 @@ class Relation < ActiveRecord::Base
32
32
  end
33
33
 
34
34
  def self.normalize(row_from, row_to)
35
- name_from, id_from = name_id(row_from)
36
- name_to, id_to = name_id(row_to)
35
+ name_from, from_id = name_id(row_from)
36
+ name_to, to_id = name_id(row_to)
37
37
  name = "#{name_from} #{name_to}"
38
- { name: name, x_id: id_from, y_id: id_to }
38
+ { name: name, from_id: from_id, to_id: to_id }
39
39
  end
40
40
 
41
41
  def self.normalize2(kind, row)
@@ -2,13 +2,11 @@ class CreateRelations < ActiveRecord::Migration[5.2]
2
2
  def change
3
3
  create_table :relations, id: false do |t|
4
4
  t.string :name
5
- t.references :x, null: false
6
- t.references :y, null: false
5
+ t.references :from, null: false
6
+ t.references :to, null: false
7
7
  t.timestamps
8
8
 
9
9
  t.index :name
10
- t.index :x
11
- t.index :y
12
10
  end
13
11
  end
14
12
  end
@@ -1,3 +1,3 @@
1
1
  module ModRelation
2
- VERSION = '0.2.3'
2
+ VERSION = '0.3.0'
3
3
  end
data/relation.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.test_files = `git ls-files -- {test,features}/*`.split("\n")
23
23
  s.require_paths = ['lib', 'app']
24
24
 
25
- s.add_dependency 'activerecord'
25
+ s.add_dependency 'activerecord', '~> 5'
26
26
 
27
27
  s.add_development_dependency 'appraisal'
28
28
  s.add_development_dependency 'bundler'
@@ -14,8 +14,8 @@ class DB
14
14
  end
15
15
  create_table :relations, id: false do |t|
16
16
  t.string :name
17
- t.references :x, null: false
18
- t.references :y, null: false
17
+ t.references :from, null: false
18
+ t.references :to, null: false
19
19
  end
20
20
  end
21
21
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dittmar Krall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-13 00:00:00.000000000 Z
11
+ date: 2018-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '5'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: appraisal
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -131,7 +131,6 @@ files:
131
131
  - app/models/relation.rb
132
132
  - app/models/relation_ext.rb
133
133
  - db/migrate/20150810152808_relation.rb
134
- - gemfiles/rails_4.gemfile
135
134
  - gemfiles/rails_5.0.gemfile
136
135
  - gemfiles/rails_5.1.gemfile
137
136
  - gemfiles/rails_5.2.gemfile
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "= 4.2.3"
6
- gem "rack", "< 2"
7
-
8
- gemspec path: "../"