qalam_merit 4.0.4 → 4.0.35
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/merit/generators/active_record/templates/create_merit_badges.erb +1 -1
- data/lib/merit/generators/install_generator.rb +2 -2
- data/lib/merit/generators/merit_generator.rb +1 -1
- data/lib/merit/generators/templates/badge.erb +7 -27
- data/lib/merit/generators/templates/{qalam_badge_sash.erb → badge_sash.erb} +4 -3
- data/lib/merit/generators/templates/{qalam_sash.erb → sash.erb} +3 -2
- data/qalam_merit.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb1129dc2d896557cf6d10ff44b69774fba8c6f665463a11dff9e03700d01122
|
4
|
+
data.tar.gz: 96b5f59cf1ad71cfe5f1aadee19b81442b9787a5972c01f0ae9d273e0eac8901
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4766494fb1d6fbb73b559648bde642f9216871148bcde5493413aefa9b664e992bd679ae0a943d05ce2e2b1488c0063074a91dc993a1cc0bc94bdb5a3f3abf6
|
7
|
+
data.tar.gz: 1f6cd67f0fa33b5ea14c64ec2b5b98ffa153a3fb05324ba6cc11b954ed40981c1509667e9f8fe99c6d3e0ee69aae956f1b860cdc667fcb95315b4379b65ceb54
|
@@ -7,10 +7,10 @@ class CreateMeritBadges < ActiveRecord::Migration<%= migration_version %>
|
|
7
7
|
t.integer :points, default: 0
|
8
8
|
t.text :description
|
9
9
|
t.string :difficulty
|
10
|
-
t.boolean :active, default: true
|
11
10
|
t.references :user, limit: 8, foreign_key: true, index: true, null: true
|
12
11
|
t.references :root_account, foreign_key: { to_table: 'accounts'}, limit: 8, null: false, index: true
|
13
12
|
|
13
|
+
|
14
14
|
t.timestamps
|
15
15
|
end
|
16
16
|
end
|
@@ -9,11 +9,11 @@ module Merit
|
|
9
9
|
def copy_migrations_and_model
|
10
10
|
template 'merit.erb', 'config/initializers/merit.rb'
|
11
11
|
sleep 1.1
|
12
|
-
template '
|
12
|
+
template 'sash.erb', 'app/models/merit/sash.rb'
|
13
13
|
sleep 1.1
|
14
14
|
template 'badge.erb', 'app/models/merit/badge.rb'
|
15
15
|
sleep 1.1
|
16
|
-
template '
|
16
|
+
template 'badge_sash.erb', 'app/models/merit/badge_sash.rb'
|
17
17
|
sleep 1.1
|
18
18
|
template 'merit_badge_rules.erb', 'app/models/merit/badge_rules.rb'
|
19
19
|
sleep 1.1
|
@@ -9,7 +9,7 @@ module Merit
|
|
9
9
|
if model_exists?
|
10
10
|
inject_into_class(model_path, class_name, " ### END ###\n\n")
|
11
11
|
inject_into_class(model_path, class_name, " has_many :created_badges, class_name: 'Merit::Badge'\n")
|
12
|
-
inject_into_class(model_path, class_name, " belongs_to :sash, foreign_key: 'sash_id', class_name: 'Merit::
|
12
|
+
inject_into_class(model_path, class_name, " belongs_to :sash, foreign_key: 'sash_id', class_name: 'Merit::Sash'\n")
|
13
13
|
inject_into_class(model_path, class_name, " has_merit\n")
|
14
14
|
inject_into_class(model_path, class_name, " ### QALAM_MERIT ###\n")
|
15
15
|
end
|
@@ -1,38 +1,27 @@
|
|
1
1
|
### QALAM_MERIT ###
|
2
|
-
class Merit::Badge <
|
2
|
+
class Merit::Badge < ApplicationRecord
|
3
3
|
self.table_name = "merit_badges"
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
self.name = self.name.strip unless self.name.nil?
|
8
|
-
self.description = self.description.strip unless self.description.nil?
|
9
|
-
end
|
10
|
-
|
11
|
-
validates :root_account_id, presence: true
|
12
|
-
validates :name, presence: true, length: { minimum: 3, maximum: 10 }
|
13
|
-
validates :points, presence: true, numericality: true, :inclusion => 1..100
|
5
|
+
validates :name, presence: true, length: { minimum: 3 }
|
6
|
+
validates :points, numericality: true, :inclusion => 1..20
|
14
7
|
validates :description, presence: false, length: { maximum: 50 }
|
15
8
|
|
16
9
|
has_one :image, :class_name => 'Attachment', :as => :context, :inverse_of => :context, :dependent => :destroy
|
17
10
|
belongs_to :root_account, foreign_key: "root_account_id", class_name: 'Account'
|
18
11
|
belongs_to :created_by, foreign_key: "user_id", class_name: 'User'
|
19
|
-
has_many :badges_sashes, class_name: 'Merit::
|
12
|
+
has_many :badges_sashes, class_name: 'Merit::BadgeSash'
|
20
13
|
has_many :sashes, through: :badges_sashes, source: :sash
|
21
14
|
|
22
|
-
def image_url
|
23
|
-
# self.image.public_url if self.image
|
24
|
-
end
|
25
|
-
|
26
15
|
class << self
|
27
16
|
def find_by_id(ids)
|
28
17
|
ids = Array.wrap(ids)
|
29
18
|
find { |b| ids.include? b[:id] }
|
30
19
|
end
|
31
|
-
|
20
|
+
|
32
21
|
def by_name(name)
|
33
22
|
find { |b| b.name.to_s == name.to_s }
|
34
23
|
end
|
35
|
-
|
24
|
+
|
36
25
|
def by_level(level)
|
37
26
|
find { |b| b.level.to_s == level.to_s }
|
38
27
|
end
|
@@ -52,18 +41,9 @@ class Merit::Badge < ActiveRecord::Base
|
|
52
41
|
# orm-specified
|
53
42
|
def _define_related_entries_method(meritable_class_name)
|
54
43
|
define_method(:"#{meritable_class_name.underscore.pluralize}") do
|
55
|
-
sashes = Merit::
|
44
|
+
sashes = Merit::BadgeSash.where(badge_id: id).pluck(:sash_id)
|
56
45
|
meritable_class_name.constantize.where(sash_id: sashes)
|
57
46
|
end
|
58
47
|
end
|
59
|
-
|
60
|
-
def create_with_attachment(account, badge, attachment)
|
61
|
-
account.shard.activate do
|
62
|
-
att = Attachment.create_data_attachment(badge, attachment)
|
63
|
-
badge.image = att
|
64
|
-
badge.save!
|
65
|
-
badge
|
66
|
-
end
|
67
|
-
end
|
68
48
|
end
|
69
49
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
### QALAM_MERIT ###
|
2
|
-
class Merit::
|
2
|
+
class Merit::BadgeSash < ApplicationRecord
|
3
3
|
self.table_name = "badges_sashes"
|
4
4
|
belongs_to :badge, foreign_key: "badge_id", class_name: 'Merit::Badge'
|
5
|
-
belongs_to :sash, foreign_key: "sash_id", class_name: 'Merit::
|
5
|
+
belongs_to :sash, foreign_key: "sash_id", class_name: 'Merit::Sash'
|
6
6
|
# has_many :users, through: :sash, source: :users
|
7
7
|
|
8
8
|
class << self
|
9
9
|
def user(badge_sash_id = nil)
|
10
10
|
return [] unless badge_sash_id
|
11
11
|
|
12
|
-
return [] unless badge_sash = Merit::
|
12
|
+
return [] unless badge_sash = Merit::BadgeSash.find(badge_sash_id)
|
13
13
|
sash = badge_sash.sash
|
14
14
|
|
15
15
|
return [] unless sash && sash.id && sash_id = sash.id
|
@@ -18,3 +18,4 @@ class Merit::QalamBadgeSash < ActiveRecord::Base
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
21
|
+
|
@@ -1,7 +1,7 @@
|
|
1
1
|
### QALAM_MERIT ###
|
2
|
-
class Merit::
|
2
|
+
class Merit::Sash < ApplicationRecord
|
3
3
|
self.table_name = "sashes"
|
4
|
-
has_many :badges_sashes, class_name: 'Merit::
|
4
|
+
has_many :badges_sashes, class_name: 'Merit::BadgeSash'
|
5
5
|
has_many :badges, through: :badges_sashes, source: :badge
|
6
6
|
|
7
7
|
class << self
|
@@ -12,3 +12,4 @@ class Merit::QalamSash < ActiveRecord::Base
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
15
|
+
|
data/qalam_merit.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.files = `git ls-files`.split("\n").reject{|f| f =~ /^\./ }
|
7
7
|
s.test_files = `git ls-files -- test/*`.split("\n")
|
8
8
|
s.license = 'MIT'
|
9
|
-
s.version = '4.0.
|
9
|
+
s.version = '4.0.35'
|
10
10
|
s.authors = ["Tute Costa", "Ahmed Abdelhamid"]
|
11
11
|
s.email = ['tutecosta@gmail.com', 'a.hamid@nezam.io']
|
12
12
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qalam_merit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.35
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tute Costa
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-02-
|
12
|
+
date: 2021-02-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: zeitwerk
|
@@ -147,12 +147,12 @@ files:
|
|
147
147
|
- lib/merit/generators/merit_generator.rb
|
148
148
|
- lib/merit/generators/remove_generator.rb
|
149
149
|
- lib/merit/generators/templates/badge.erb
|
150
|
+
- lib/merit/generators/templates/badge_sash.erb
|
150
151
|
- lib/merit/generators/templates/merit.erb
|
151
152
|
- lib/merit/generators/templates/merit_badge_rules.erb
|
152
153
|
- lib/merit/generators/templates/merit_point_rules.erb
|
153
154
|
- lib/merit/generators/templates/merit_rank_rules.erb
|
154
|
-
- lib/merit/generators/templates/
|
155
|
-
- lib/merit/generators/templates/qalam_sash.erb
|
155
|
+
- lib/merit/generators/templates/sash.erb
|
156
156
|
- lib/merit/judge.rb
|
157
157
|
- lib/merit/models/action_concern.rb
|
158
158
|
- lib/merit/models/active_record/action.rb
|