Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

remer

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

remer

  • 0.1.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Remer: Redmine Extension manager

Remer is a tool for managing Redmine Extension, which means Redmine Plugin and Theme in this tool.

It is mainly aimed at helping with the development of Redmine and its plugins, allowing you to define extensions in a Ruby DSL and install, uninstall, update, and switch between different sets of the extensions.

Build

Installation

Install the gem and add to the application's Gemfile by executing:

bundle add remer

If bundler is not being used to manage dependencies, install the gem by executing:

gem install remer

Usage

Quick Start

First, create a .extensions.rb file in the root directory of the Redmine application.

theme :bleuclair, github: { repo: "farend/redmine_theme_farend_bleuclair", branch: "support-propshaft" }

plugin :view_customize, github: { repo: "onozaty/redmine-view-customize", tag: "v3.5.2" }
plugin :redmine_issues_panel, git: { url: "https://github.com/redmica/redmine_issues_panel", tag: "v1.0.2" }

Then, run the following command in the root directory of the Redmine application.

rem install

This command installs plugins and themes defined in the .extensions.rb file and generates the .extensions.lock file.

[!NOTE] The .extensions.lock file is a file that locks the state of the installed extensions, but it's NOT a file that locks the version of the extensions.

If you want to uninstall the extensions, run the following command.

rem uninstall

This command uninstalls the extensions and deletes the .extensions.lock file.

Commands

$ rem
Commands:
  rem help [COMMAND]  # Describe available commands or one specific command
  rem install [ENV]   # Install extensions for the specified environment
  rem state           # Show the current state of the installed extensions
  rem switch [ENV]    # Uninstall extensions for the currently installed environment and install extensions for the specified environment
  rem uninstall       # Uninstall extensions for the currently installed environment
  rem update          # Update extensions for the currently installed environment to the latest version
  rem version         # Show Remer version

Defining environments and extensions for the environment

theme :bleuclair, github: { repo: "farend/redmine_theme_farend_bleuclair" }
plugin :redmine_issues_panel, git: { url: "https://github.com/redmica/redmine_issues_panel" }

env :stable do
  theme :bleuclair, github: { repo: "farend/redmine_theme_farend_bleuclair", branch: "support-propshaft" }
  plugin :redmine_issues_panel, git: { url: "https://github.com/redmica/redmine_issues_panel", tag: "v1.0.2" }
end

In above example, the bleuclair theme and the redmine_issues_panel plugin are defined for the default environment. The bleuclair theme and the redmine_issues_panel plugin are defined for the stable environment.

If you want to install extensions for the default environment, run the following command.

rem install
or
rem install default

Similarly, if you want to install extensions for the stable environment, run the following command.

rem install stable

In addition, you can switch between environments.

rem switch stable
or
rem install stable

The above command uninstalls the extensions for the currently installed environment and installs the extensions for the stable environment.

Defining hooks

You can define hooks for each extension.

plugin :redmica_s3, github: { repo: "redmica/redmica_s3" } do
  installed do
    Pathname.new("config", "s3.yml").write <<~YAML
      access_key_id: ...
    YAML
  end

  uninstalled do
    Pathname.new("config", "s3.yml").delete
  end

  updated do
    puts "updated"
  end
end

Developing

Running integration tests

First, you need to build the docker image for the integration tests.

rake remer:test:build_integration_test_image

Then, you can run the integration tests.

rake teste

Formatting and Linting code

This project uses Standard for code formatting and linting. You can format and check the code by running the following commands.

rake standard
rake standard:fix

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/hidakatsuya/remer.

License

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

FAQs

Package last updated on 13 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc