GitXplorerGitXplorer
j

rpictogrify

public
6 stars
3 forks
0 issues

Commits

List of commits on branch main.
Verified
199d72fbdbf18a4cffe8353a95ec8ca64b2b898f

Merge pull request #3 from jinhucheung/add-theme-register

jjinhucheung committed 2 years ago
Unverified
14618b11ab00e02ca08e741e85cfe741be79bf7a

bump to 0.5.0

jjinhucheung committed 2 years ago
Unverified
b899929fc3e4b9522222ccf013c2e20e169a0fb2

update readme

jjinhucheung committed 2 years ago
Unverified
2a94624cb017e1f9a1fcae1aa582079c4d897c58

add theme register

jjinhucheung committed 2 years ago
Unverified
3bb216533af656476d74f300961cf4049dc7e8d8

add custom theme path to config

RRoupiye committed 3 years ago
Unverified
2678d356f427493fcec5755be5ed484bce2d367f

update README

jjinhucheung committed 4 years ago

README

The README file for this repository.

Gem Version Build Status

Rpictogrify

Ruby version of the pictogrify to generate unique pictograms

Avatar

Installation

Add rpictogrify to application's Gemfile:

gem 'rpictogrify'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install rpictogrify

Configuration

Rpictogrify.configure do
  # default theme, one of these themes: avataars_female, avataars_male, male_flat, monsters. default is :monsters
  self.theme      = :monsters
  # pictogram directory. default is 'public/system'
  self.base_path  = 'public/system'
  # register a custome theme with assets. assets see assets/themes
  self.register_theme :custom, assets_path: 'vendor/assets/rpictogrify/themes/custom'
end

Usage

Rpictogrify.generate 'jim.cheung'                          #=> 'public/system/rpictogrify/1/monsters/1313467160.svg'
Rpictogrify.generate 'jim.cheung', theme: :avataars_male   #=> 'public/system/rpictogrify/1/avataars_male/1313467160.svg'
Rpictogrify.generate 'jim.cheung', theme: :custom          #=> 'public/system/rpictogrify/1/custom/1313467160.svg', use custom theme

Controller / View

There is a helper for this, you need to include Rpictogrify::Helper in your controller or helper. e.g. ApplicationHelper

include Rpictogrify::Helper

Then you can use the following methods in views.

rpictogrify_for('jim', theme: :monsters)          #=> 'public/system/rpictogrify/1/monsters/1313467160.svg'
rpictogrify_url('jim')                            #=> '/system/rpictogrify/1/monsters/1313467160.svg'
rpictogrify_tag('jim', html: {class: :avatar})    #=> '<img class="avatar" src="https://raw.githubusercontent.com/jinhucheung/rpictogrify/main//system/rpictogrify/1/monsters/1313467160.svg" alt="jim" />'
rpictogrify_url_for('public/system/rpictogrify/1/monsters/1313467160.svg') #=> '/system/rpictogrify/1/monsters/1313467160.svg'

Model

You can include Rpictogrify::Extension in your model class. e.g. User model

class User
  include Rpictogrify::Extension

  rpictogrify_on :username, theme: -> { gender == :male ? :avataars_male : :avataars_female }
  # rpictogrify_on :username, theme: :avataars_male
end

Then you have the following methods in user

@user.rpictogrify_path      #=> 'public/system/rpictogrify/1/monsters/1313467160.svg'
@user.rpictogrify_url       #=> '/system/rpictogrify/1/monsters/1313467160.svg'

Contributing

Bug report or pull request are welcome.

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)

Please write unit test with your code if necessary.

License

The gem is available as open source under the terms of the MIT License.