Module: ReactOnRailsPro::LicenseTaskFormatter
- Defined in:
- lib/react_on_rails_pro/license_task_formatter.rb
Overview
Formats license verification output for the verify_license rake task.
Class Method Summary collapse
- .add_expiration_fields(result, info) ⇒ Object
- .build_result(info) ⇒ Object
- .print_details(result, info) ⇒ Object
- .print_expiration(result, info) ⇒ Object
- .print_renewal_warning(result, info) ⇒ Object
- .print_status_line(status) ⇒ Object
- .print_text(result, info) ⇒ Object
Class Method Details
.add_expiration_fields(result, info) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/react_on_rails_pro/license_task_formatter.rb', line 21 def add_expiration_fields(result, info) return result unless info[:expiration] days_remaining = ((info[:expiration] - Time.now) / 86_400).ceil result[:days_remaining] = days_remaining result[:renewal_required] = info[:status] == :expired || days_remaining <= 30 result end |
.build_result(info) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/react_on_rails_pro/license_task_formatter.rb', line 8 def build_result(info) result = { status: info[:status].to_s, organization: info[:org], plan: info[:plan], expiration: info[:expiration]&.iso8601, attribution_required: info[:attribution_required], days_remaining: nil, renewal_required: false } add_expiration_fields(result, info) end |
.print_details(result, info) ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/react_on_rails_pro/license_task_formatter.rb', line 47 def print_details(result, info) puts "Organization: #{info[:org] || '(unknown)'}" puts "Plan: #{info[:plan] || '(unknown)'}" print_expiration(result, info) puts "Attribution: #{info[:attribution_required] ? 'required' : 'not required'}" print_renewal_warning(result, info) end |
.print_expiration(result, info) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/react_on_rails_pro/license_task_formatter.rb', line 55 def print_expiration(result, info) return unless info[:expiration] puts "Expiration: #{info[:expiration].strftime('%Y-%m-%d')}" puts "Days left: #{result[:days_remaining]}" end |
.print_renewal_warning(result, info) ⇒ Object
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/react_on_rails_pro/license_task_formatter.rb', line 62 def print_renewal_warning(result, info) return unless result[:renewal_required] puts "" if info[:status] == :expired puts "WARNING: License has expired. Renew at https://www.shakacode.com/react-on-rails-pro/" else puts "WARNING: License expires within 30 days. Renew at https://www.shakacode.com/react-on-rails-pro/" end end |
.print_status_line(status) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/react_on_rails_pro/license_task_formatter.rb', line 39 def print_status_line(status) puts "Status: #{status.to_s.upcase}" return unless status == :missing puts "" puts "No license found. Set REACT_ON_RAILS_PRO_LICENSE" end |
.print_text(result, info) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/react_on_rails_pro/license_task_formatter.rb', line 30 def print_text(result, info) puts "React on Rails Pro — License Status" puts "=" * 40 print_status_line(info[:status]) return if info[:status] == :missing print_details(result, info) end |