Module: DiscourseSubscriptionClient

Defined in:
lib/discourse_subscription_client/engine.rb,
lib/discourse_subscription_client/notices.rb,
lib/discourse_subscription_client/request.rb,
lib/discourse_subscription_client/version.rb,
lib/discourse_subscription_client/resources.rb,
lib/discourse_subscription_client/authorization.rb,
lib/discourse_subscription_client/subscriptions.rb,
app/jobs/discourse_subscription_client/find_resources.rb,
app/jobs/discourse_subscription_client/update_notices.rb,
lib/discourse_subscription_client/subscriptions/result.rb,
app/jobs/discourse_subscription_client/update_subscriptions.rb,
lib/discourse_subscription_client/subscriptions/update_result.rb,
app/controllers/discourse_subscription_client/admin_controller.rb,
app/serializers/discourse_subscription_client/notice_serializer.rb,
app/controllers/discourse_subscription_client/notices_controller.rb,
app/serializers/discourse_subscription_client/resource_serializer.rb,
app/serializers/discourse_subscription_client/supplier_serializer.rb,
app/controllers/discourse_subscription_client/no_access_controller.rb,
app/controllers/discourse_subscription_client/suppliers_controller.rb,
app/serializers/discourse_subscription_client/subscription_serializer.rb,
app/controllers/discourse_subscription_client/subscriptions_controller.rb

Defined Under Namespace

Classes: AdminController, Authorization, Engine, FindResources, NoAccessController, NoticeSerializer, Notices, NoticesController, Request, ResourceSerializer, Resources, SubscriptionSerializer, Subscriptions, SubscriptionsController, SupplierSerializer, SuppliersController, UpdateNotices, UpdateSubscriptions

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.database_exists?Boolean

Returns:

  • (Boolean)


86
87
88
89
90
91
92
# File 'lib/discourse_subscription_client/engine.rb', line 86

def database_exists?
  ActiveRecord::Base.connection
rescue ActiveRecord::NoDatabaseError
  false
else
  true
end

.find_subscriptions(resource_name = nil) ⇒ Object



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/discourse_subscription_client/engine.rb', line 94

def find_subscriptions(resource_name = nil)
  return nil unless resource_name

  subscriptions = SubscriptionClientSubscription.active
                                                .includes(resource: [:supplier])
                                                .references(resource: [:supplier])
                                                .where("subscription_client_resources.name = ? ", resource_name)

  result = DiscourseSubscriptionClient::Subscriptions::Result.new
  return result unless subscriptions.exists?

  resource = subscriptions.first.resource
  supplier = resource.supplier
  products = supplier.product_slugs(resource_name)
  return result unless products.present?

  result.resource = resource
  result.supplier = supplier
  result.subscriptions = subscriptions.to_a
  result.products = products

  result
end

.plugin_status_server_urlObject



82
83
84
# File 'lib/discourse_subscription_client/engine.rb', line 82

def plugin_status_server_url
  "https://coop.pavilion.tech"
end

.rootObject



78
79
80
# File 'lib/discourse_subscription_client/engine.rb', line 78

def root
  Rails.root
end