Class: Jekyll::RemoteTheme::Theme
- Inherits:
-
Theme
- Object
- Theme
- Jekyll::RemoteTheme::Theme
- Defined in:
- lib/jekyll-remote-theme/theme.rb
Constant Summary collapse
- OWNER_REGEX =
%r!(?<owner>[a-z0-9\-]+)!i
- NAME_REGEX =
%r!(?<name>[a-z0-9\._\-]+)!i
- REF_REGEX =
May be a branch, tag, or commit
%r!@(?<ref>[a-z0-9\._\-]+)!i
- THEME_REGEX =
%r!\A#{OWNER_REGEX}/#{NAME_REGEX}(?:#{REF_REGEX})?\z!i
Instance Method Summary collapse
- #git_ref ⇒ Object
-
#initialize(raw_theme) ⇒ Theme
constructor
Initializes a new Jekyll::RemoteTheme::Theme.
- #inspect ⇒ Object
- #name ⇒ Object
- #name_with_owner ⇒ Object (also: #nwo)
- #owner ⇒ Object
- #root ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(raw_theme) ⇒ Theme
Initializes a new Jekyll::RemoteTheme::Theme
raw_theme can be in the form of:
-
owner/theme-name - a GitHub owner + theme-name string
-
owner/theme-name@git_ref - a GitHub owner + theme-name + Git ref string
17 18 19 20 |
# File 'lib/jekyll-remote-theme/theme.rb', line 17 def initialize(raw_theme) @raw_theme = raw_theme.to_s.downcase.strip super(@raw_theme) end |
Instance Method Details
#git_ref ⇒ Object
39 40 41 |
# File 'lib/jekyll-remote-theme/theme.rb', line 39 def git_ref theme_parts[:ref] || "master" end |
#inspect ⇒ Object
47 48 49 50 |
# File 'lib/jekyll-remote-theme/theme.rb', line 47 def inspect "#<Jekyll::RemoteTheme::Theme owner=\"#{owner}\" name=\"#{name}\"" \ " ref=\"#{git_ref}\" root=\"#{root}\">" end |
#name ⇒ Object
22 23 24 |
# File 'lib/jekyll-remote-theme/theme.rb', line 22 def name theme_parts[:name] end |
#name_with_owner ⇒ Object Also known as: nwo
30 31 32 |
# File 'lib/jekyll-remote-theme/theme.rb', line 30 def name_with_owner [owner, name].join("/") end |
#owner ⇒ Object
26 27 28 |
# File 'lib/jekyll-remote-theme/theme.rb', line 26 def owner theme_parts[:owner] end |
#root ⇒ Object
43 44 45 |
# File 'lib/jekyll-remote-theme/theme.rb', line 43 def root @root ||= File.realpath Dir.mktmpdir(TEMP_PREFIX) end |
#valid? ⇒ Boolean
35 36 37 |
# File 'lib/jekyll-remote-theme/theme.rb', line 35 def valid? theme_parts && name && owner end |