Class: Lgtm::In
- Inherits:
-
Object
- Object
- Lgtm::In
- Defined in:
- lib/lgtm.rb
Defined Under Namespace
Classes: LgtmLinkStruct
Constant Summary collapse
- LGTM_LINK_BASE =
'http://lgtm.in/i'.freeze
- NOT_SET_VALIAVLE_ALERT_1 =
"please set enviromant variable LGTM_IN_USER_PATH \n".freeze
- NOT_SET_VALIAVLE_ALERT_2 =
"lgtm.in mypage example -> http://lgtm.in/l/HaiTo \n".freeze
- NOT_SET_VALIAVLE_ALERT_3 =
"in .bashrc, .zshrc -> export LGTM_IN_USER_PATH='http://lgtm.in/l/HaiTo' \n".freeze
- REFLASH_TIME =
604_800
- LAST_EXECUTED_AT_TIME_PATH =
'last_executed_at.time'.freeze
- CACHED_LINKS_PATH =
'cached_links.links'.freeze
- BASE_PATH =
'/tmp'.freeze
- LINK_PAR_PAGE_BASE =
32
- LGTM_MARKDOWN =
'[![LGTM](__LGTM_IMAGE_DETAILS_PATH__)](__LGTM_IMAGE_PATH__)'.freeze
- LGTM_MARKDOWN_DETAIL_PATH_BASE =
'http://lgtm.in/p/'.freeze
- LGTM_MARKDOWN_IMAGE_PATH_BASE =
'http://lgtm.in/i/'.freeze
Instance Method Summary collapse
- #fetch_lgtm_link_markdown!(mode, picker) ⇒ Object
-
#initialize ⇒ In
constructor
A new instance of In.
- #not_set_valiavle_alert ⇒ Object
Constructor Details
#initialize ⇒ In
Returns a new instance of In.
36 37 38 39 40 41 42 43 44 |
# File 'lib/lgtm.rb', line 36 def initialize @lgtm_my_page = ENV['LGTM_IN_USER_PATH'].nil? ? not_set_valiavle_alert : ENV['LGTM_IN_USER_PATH'] @last_executed_at = begin File.read(BASE_PATH + '/' + LAST_EXECUTED_AT_TIME_PATH); rescue; nil; end @cached_links = begin File.read(BASE_PATH + '/' + CACHED_LINKS_PATH); rescue; nil end end |
Instance Method Details
#fetch_lgtm_link_markdown!(mode, picker) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/lgtm.rb', line 46 def fetch_lgtm_link_markdown!(mode, picker) link_structs = if Time.now.to_i - @last_executed_at.to_i > REFLASH_TIME update_executed_at! link_structs = fetch_links cache_links!(link_structs) link_structs else @cached_links.nil? ? fetch_links : Marshal.load(@cached_links) end link_struct = case picker.to_i when 1..Fixnum::MAX link_structs.compact[picker.to_i] else link_structs.compact.sample end unless link_struct print "you could set to NUMBER at between 0 and #{link_structs.size}" exit(1) end case mode when :link link_hash = link_struct.link.split('/').last LGTM_MARKDOWN.gsub('__LGTM_IMAGE_DETAILS_PATH__', (LGTM_MARKDOWN_DETAIL_PATH_BASE + link_hash).to_s).gsub('__LGTM_IMAGE_PATH__', (LGTM_MARKDOWN_IMAGE_PATH_BASE + link_hash).to_s) when :image link_struct.image end end |
#not_set_valiavle_alert ⇒ Object
29 30 31 32 33 34 |
# File 'lib/lgtm.rb', line 29 def not_set_valiavle_alert print NOT_SET_VALIAVLE_ALERT_1 print NOT_SET_VALIAVLE_ALERT_2 print NOT_SET_VALIAVLE_ALERT_3 exit(1) end |