ish_models 0.0.33.183 → 0.0.33.185

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: 85f8fca5beb0c5b47064b21cc701211337dc0958413042fe7a0d06760bf37b6d
4
- data.tar.gz: 401e647a0822369046967e7a89f1f5e8171a39788c13c599641855497b955532
3
+ metadata.gz: 85b9a6758d41c84ed2393951c0e8bd9733d92f745859689e64940677205962bf
4
+ data.tar.gz: 4133474740d173f9eddc0339a2c8fcc2b335a199db36f2f19cc813afe2889594
5
5
  SHA512:
6
- metadata.gz: 64946732013186fc3677c73c907a089165534e57b3fbaa064ecd6a4194acf8d9e263b4fd5736f4aab5e726105f76fa960cf396487bf75bf88dce5dec6708acb4
7
- data.tar.gz: 299a36f616f7e436f650071604ae9fdc7ae20e23269579b9cb06904be845bfc8516b849022091dfed625bf7eb657f04cb086ca4ff63b92168d27bfcc33632fbe
6
+ metadata.gz: 4139e2903f034633a246aa43217b5f7eb64f3a5ec475774633d28b97984da2b35fa5ec4fde1ec4798b6c04f49c855db258df812f9dcb1e18e069326886d58031
7
+ data.tar.gz: 2ce2bed1e8a34efa83e643de5277561c3bc804503c5f6c293e72025ba639fc3b489eebd6d21296fe8d4598f1401bf9387d7fcfa21c686b30b3ed0e4c54a4d3c1
@@ -1,12 +1,17 @@
1
1
 
2
2
  #
3
- # This looks like it sends a single email?
3
+ # Sends a single email, or a campaign.
4
4
  #
5
5
 
6
6
  class Ish::EmailContext
7
7
  include Mongoid::Document
8
8
  include Mongoid::Timestamps
9
9
 
10
+ field :title
11
+ def slug
12
+ title
13
+ end
14
+
10
15
  PAGE_PARAM_NAME = 'email_contexts_page'
11
16
 
12
17
  FROM_EMAILS = %w| piousbox@gmail.com victor@piousbox.com victor@wasya.co no-reply@piousbox.com |
@@ -16,8 +21,13 @@ class Ish::EmailContext
16
21
  [ [nil, nil] ] + FROM_EMAILS.map { |i| [i, i] }
17
22
  end
18
23
 
19
- field :to_email
20
- validates_presence_of :to_email
24
+ TYPE_SINGLE = 'TYPE_SINGLE'
25
+ TYPE_CAMPAIGN = 'TYPE_CAMPAIGN'
26
+ field :type, default: TYPE_SINGLE
27
+ def self.types_list
28
+ [ [TYPE_SINGLE, TYPE_SINGLE], [TYPE_CAMPAIGN, TYPE_CAMPAIGN] ]
29
+ end
30
+
21
31
 
22
32
  field :subject
23
33
  validates_presence_of :subject
@@ -30,11 +40,35 @@ class Ish::EmailContext
30
40
  field :rendered_str
31
41
 
32
42
  field :sent_at, type: DateTime
43
+ field :scheduled_at, type: DateTime
44
+
45
+ def self.all_campaigns
46
+ Ish::EmailContext.where( type: TYPE_CAMPAIGN )
47
+ end
48
+
49
+ def campaign_leads
50
+ if self.type == TYPE_CAMPAIGN
51
+ return ::EmailCampaignLead.where( email_campaign_id: self.id.to_s ).includes( :lead )
52
+ end
53
+ end
54
+
55
+ def leads
56
+ campaign_leads&.map { |p| p.lead }
57
+ end
58
+
33
59
 
34
60
  #
35
61
  # For templating:
36
62
  #
37
- field :name
63
+ field :tmpl_name
64
+
65
+ field :to_email
66
+ validates_presence_of :to_email, if: -> { type == TYPE_SINGLE }
67
+
68
+ #
69
+ # For tracking
70
+ #
71
+ attr_reader :tid
38
72
 
39
73
  end
40
- EmailContext = Ish::EmailContext
74
+ EmailCampaign = Ish::EmailContext
@@ -1,4 +1,5 @@
1
- class Ish::Campaign
1
+
2
+ class Ish::EmailCampaign
2
3
  include Mongoid::Document
3
4
  include Mongoid::Timestamps
4
5
 
@@ -12,12 +13,16 @@ class Ish::Campaign
12
13
  field :subject
13
14
  field :body
14
15
 
16
+ ## @TODO: tags instead?
15
17
  field :is_done, :type => Boolean, :default => false
16
18
  field :is_trash, :type => Boolean, :default => false
19
+ field :tag # 'hired_com_ror', not enumerated for now _vp_ 20180103
17
20
 
21
+ ## @TODO: sent on, scheduled_on, ...
18
22
  field :applied_on, :type => Time
19
23
 
20
- field :tag # 'hired_com_ror', not enumerated for now _vp_ 20180103
21
- field :location
24
+ ## Need tracking!
25
+
26
+ ## this looks like an email_context, copy from there.
22
27
 
23
28
  end
File without changes
File without changes
data/lib/ish_models.rb CHANGED
@@ -43,7 +43,6 @@ require 'gameui/marker'
43
43
  require 'gameui/premium_purchase'
44
44
 
45
45
  require 'ish/cache_key'
46
- require 'ish/campaign'
47
46
  require 'ish/crawler'
48
47
  require 'ish/email_context'
49
48
  require 'ish/email_template'
@@ -52,8 +51,6 @@ require 'ish/gallery_name'
52
51
  require 'ish/image_asset'
53
52
  require 'ish/input_error'
54
53
  require 'ish/invoice'
55
- require 'ish/issue'
56
- require 'ish/lead'
57
54
  require 'ish/lorem_ipsum'
58
55
  require 'ish/meeting'
59
56
  require 'ish/payment'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ish_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33.183
4
+ version: 0.0.33.185
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
@@ -123,7 +123,6 @@ files:
123
123
  - lib/gameui/marker.rb
124
124
  - lib/gameui/premium_purchase.rb
125
125
  - lib/ish/cache_key.rb
126
- - lib/ish/campaign.rb
127
126
  - lib/ish/configuration.rb
128
127
  - lib/ish/crawler.rb
129
128
  - lib/ish/email_context.rb
@@ -133,14 +132,14 @@ files:
133
132
  - lib/ish/image_asset.rb
134
133
  - lib/ish/input_error.rb
135
134
  - lib/ish/invoice.rb
136
- - lib/ish/issue.rb
137
- - lib/ish/lead.rb
138
- - lib/ish/lead.rb-bk
139
135
  - lib/ish/lorem_ipsum.rb
140
136
  - lib/ish/meeting.rb
141
137
  - lib/ish/payment.rb
142
138
  - lib/ish/premium_item.rb
143
139
  - lib/ish/railtie.rb
140
+ - lib/ish/trash/email_campaign.rb
141
+ - lib/ish/trash/lead.rb
142
+ - lib/ish/trash/lead.rb-bk
144
143
  - lib/ish/user_profile.rb
145
144
  - lib/ish/utils.rb
146
145
  - lib/ish_models.rb
data/lib/ish/issue.rb DELETED
@@ -1,14 +0,0 @@
1
-
2
- #
3
- # Issue
4
- # _vp_ 20171204
5
- #
6
- class Ish::Issue
7
- include Mongoid::Document
8
- include Mongoid::Timestamps
9
-
10
- store_in :collection => 'ish_issue'
11
-
12
- field :name
13
-
14
- end