relation 0.2.3 → 0.3.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.
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: "../"