Coder Social home page Coder Social logo

gemify's Introduction

Gemify, the gemspec generator

Overview

Gemify is a simple tool which helps you generate gemspecs (which are used for building gems) and verify that your project follows the common and proven way to structure your Ruby packages.

Getting started

Generating gemspec:

$ gem install gemify
$ cd myproject (which doesn't have a gemspec yet)
$ gemify
Gemify needs to know a bit about your project, but should be
able to guess most of the information. Type the value if you
need to correct it, or press ENTER to accept the suggestion by Gemify.

Project name:        gemify? 
Namespace:           Gemify? 
Library:             lib/gemify? 

*** Verifying the structure of lib/
[+] Please consider to define Gemify::VERSION in lib/gemify/version.rb
[.] Done

*** Verifying the structure of bin/
[.] Done

*** Verifying the structure of ext/
[.] Done

*** Generating a gemspec
[.] Done

Please open gemify.gemspec in your text editor and fill out the details.

You should fix any warnings that was reported above. You won't need to
generate a new gemspec after you've fixed them.

You must also define Gemify::VERSION in lib/gemify/version.rb.
Gemify has automatically created the file for you, so simply
open it in your text editor and fill in the current version.

Or if you just want to verify it:

$ gemify -v

Build and share a gem

Let's not reinvent the wheel, shall we?

$ gem build foo.gemspec
$ gem push foo.gem

Acknowledgements

Thanks to Pat Nakajima for reminding me that Gemify still has its uses.

Contributors

  • David A. Cuadrado
  • Ben Wyrosdick
  • Chris Wanstrath
  • Pat Nakajima
  • Vincent Landgraf

gemify's People

Contributors

benwyrosdick avatar dcu avatar judofyr avatar keita avatar nakajima avatar stim371 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gemify's Issues

Use Readline

Ships with Ruby, no reason to not use it. Would also be cool to get tab-completion for dependencies.

Change current behaviour: gemify should not create a *_version.rb file unasked

Hi,

Right now gemify automatically creates a new version.rb file in my project.

This is annoying. I dont want gemify to ever make a file that I dont allow or instructed it to do so.

Can it perhaps be changed that gemify asks before it creates the file? Or a configuration option,
that can be toggled (and turned off permanently too when the user wants to)?

gemify shouldn't replace dynamic content.

hey

I'm trying out gemify because I like the idea and so far so good but I don't think gemify should replace dynamic content. For example:

   s.version = Project::VERSION
   s.post_install_message = <<-EXAMPLE
   #{Project::VERSION}
   EXAMPLE

I would like content like that to remain dynamic as I don't want to manually replace every
occurrence of Project::VERSION by myself after using gemify. As it stands, gemfiy doesn't facilitate that.

EDIT: I'm using gemify -u to re-generate the gemspec. Right now I'm only using gemify to maintain Gem::Specification#files and Gem::Specification#test_files

Thanks,
Rob

Feature request: Gemify adds to #test_files

Hey

gemify -u is great but it doesn't seem to try to make any attempt to add to Gem::Specification#test_files=

It'd be cool if it did? maybe anything matching test/**/*.rb or spec/**/*.rb

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.